Importare un file CSV in un datatable

giovedì 29 marzo 2012 - 15.34
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2008  |  SQL Server 2008 R2

dannyv Profilo | Junior Member

Salve a tutti..sono nuovo e spero di non annoiarvi con domande che per molti di voi sono delle sciocchezze :P

avrei un problema...ho una maschera nella quale l' utente mette in upload un file csv e poi premendo su un bottone lo carica.
I miei problemi sono i seguenti...
1) come faccio a prendere il path in cui il file verrà salvato?
2) e come faccio a caricare il file csv , magari su un datatable, vizsto che poi dovrò fare
dei controlli su alcuni dati per vedere se quello che è stato inserito è un insieme di dati corretti?

per capirci...
protected void btnCaricaDati_Click(object sender, EventArgs e) { LeggiFileCSV(""); }
nelle parentesi cosa dovrei metterci?

grazie a tutti per la disponibilità..e scusate ancora per la domanda, per molti, banale.

ciao

Daniele

matteoct Profilo | Junior Member

ti allego un esempio pratico (in VB); ho avuto anch'io la tua stessa esigenza.

saluti

dannyv Profilo | Junior Member

ciao grazie per il pacchetto..per il caricamento del file poi ho risolto usando una proprietà del bottone che cariacva il file..ora il problema è

ho una datatable dt di 19 colonne, un file .csv con 19 campi e più righe separati dal carattere ';' come faccio a prendere il primo valore dal file csv e metterlo nel campo 0,0 del datatable il secondo nel campo 0,1..l ultimo nel campo 0,18 e poi così via sulla seconda riga del file csv quindi primo valore della seconda riga nel campo 1,0 del datatable e così via fino a che non finisco il file csv?

grazie a tutti!!

matteoct Profilo | Junior Member

Nel file che ti ho allegato c'è una funzione che crea un datatable dal csv che gli passi e si chiama:

Function CsvCreateDataTable(ByVal strPath,ByVal strFilesName) As DataTable

Fatto ciò, viene eseguita l'ulteriore funzione Function InsertToDatabase(ByVal dt), cioè, dal datatable (dt) che gli passi, inserisce le informazioni che vuoi nel db

praticamente esegui un ciclo for sul csv caricato, ad es:

'*** Loop Insert ***'
For i = 0 To dt.Rows.Count - 1

poi gestisci tu i dati che vuoi inserire, richiamando le colonne del datatable con:
dt.Rows(i)("NOMECOLONNA")...etc

nel file allegato prima c'è l'esempio completo

saluti



dannyv Profilo | Junior Member

accidenti che rinc.....distratto!!!! eheheh grazie mille..funziona tutto perfettamente!!!

matteoct Profilo | Junior Member

di nulla
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5