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