VB.NET: importare un file CSV in un dataset

31 03 2008

Tra le possibilita’ offerta dalla classe OleDb del Framework .NET c’e’ quella di trattare un file CSV alla stregua di una tabella di un database, ed eseguire su di esso vere e proprie query in linguaggio SQL, importando poi i risultati all’interno di un dataset, utilizzabile poi per qualsiasi altro scopo.

Vediamo come realizzare quindi una breve funzione che, dato il path di un file CSV, ne restitusca il DataSet corrispondente.

Public Function CSV2DataSet(ByVal filename As String) As DataSet

Dim fFile1 As New FileInfo(filename)

‘creazione schema.ini (Necessario per il corretto riconoscimento del separatore, in questo caso il carattere tab)

Dim oFile As System.IO.File
Dim oWrite As System.IO.StreamWriter
oWrite = oFile.CreateText(fFile1.DirectoryName & “\schema.ini”)
oWrite.WriteLine(“[" & fFile1.Name & "]“)
oWrite.WriteLine(“Format=TabDelimited”)
oWrite.Close()

Dim strConn As String = “Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=’text;HDR=Yes;FMT=TabDelimited;’;Data Source=” & fFile1.DirectoryName

Dim ds As New DataSet(fFile1.Name)
Dim ds As New DataSet(tablename)
Dim conn As New OleDb.OleDbConnection(strConn)

Dim da As OleDb.OleDbDataAdapter

Dim mycmd As New OleDb.OleDbCommand(“Select * from ” & fFile1.Name, conn)

Try
da = New OleDb.OleDbDataAdapter(mycmd)
da.Fill(ds)

Catch ex As Exception

End Try

Return ds

End Function


Azioni

Informazione

3 risposte

1 04 2008
VB.NET: creare una tabella su DataBase partendo da un dataset « Andy’s Blog

[...] creare una tabella su DataBase partendo da un dataset 1 04 2008 Nel precedente post ho spiegato come popolare un dataset partendo da un file di testo. Ora facciamo un passo [...]

2 02 2009
.NET: effettuare query SQL su DataTable in memoria « Andy’s Blog

[...] di dati le DataTables e’ cosa da poco, aggregarle all’interno di un DataSet e’ ancora piu’ semplice, comincia a saltar [...]

7 02 2009
.net: effettuare query sql su datatable in memoria

[...] di dati le DataTables e’ cosa da poco, aggregarle all’interno di un DataSet e’ ancora piu’ semplice, comincia a saltar [...]

Lascia un commento