Ho questo codice, che legge un file csv (tramite SCHEMA.INI) e viene letto da un DataTable.
Public Function LoadCsvFile(filePath As String) As DataTable
Try
tempDT = New DataTable
cnn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filePath & ";Extended Properties=""text;HDR=Yes;FMT=Delimited""")
da = New OleDb.OleDbDataAdapter("SELECT * FROM [legali.csv]", cnn)
da.Fill(tempDT)
Dim righe = tempDT.Rows.Count
Dim colonne = tempDT.Columns.Count
Return tempDT
Exit Function
Catch ex As Exception
MsgBox(Err.Number & " " & Chr(13) & Err.Description)
End Try
End Function
SCHEMA.INI
[legali.CSV]
ColNameHeader=FALSE
CharacterSet=1252
Format=Delimited(;)
TextDelimiter="
Col1="ID" long
Col2="COGNOME/NOME" Text Width 50
Col3="INDIRIZZO" Text Width 50
Col4="CAP" Text Width 5
Col5="PROV" Text Width 2
Col6="COMUNE" Text Width 50
Dopo le modifiche ,tento di esportare i dati del datatable nel file csv per conservare le eventuali modifiche,
ma dopo diverse prove di sono accorto (leggendo il file con un hex editor) che il file inizia con caratteri
spuri, che non capisco da dove provengano.Potete aiutarmi? Grazie
Public Sub ExportToCsvFile()
Dim Path As String = Application.StartupPath & "\LEGALI_COPIA.CSV"
Dim testo As String
For x = 0 To tempDT.Rows.Count - 2
Dim elemento As DataRow
elemento = tempDT.Rows(x)
Dim myId As String = elemento.Item(0) & ";"
Dim myCognome As String = """" & elemento.Item(1) & """;"
Dim myIndirizzo As String = """" & elemento.Item(2) & """;"
Dim myCap As String = """" & elemento.Item(3) & """;"
Dim myProv As String = """" & elemento.Item(4) & """;"
Dim myComune As String = """" & elemento.Item(5) & """" & vbCrLf
testo += myId + myCognome + myIndirizzo + myCap + myProv + myComune
Next
My.Computer.FileSystem.WriteAllText(Path, testo, False)
End Sub