Sto provando a leggere un file csv utilizzando il seguente codice. Il file ha anche intestazioni di colonne.Impossibile leggere correttamente il file csv utilizzando il provider Microsoft.Jet.OLEDB.4.0
Di seguito è riportato l'output dopo aver caricato il file nel set di dati.
public DataSet LoadCVS(string filePath)
{
DataSet ds = new DataSet();
string fileName = System.IO.Path.GetFileName(filePath);
try
{
string path = @System.IO.Path.GetDirectoryName(filePath);
using (OleDbConnection conn =
new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + @";Extended Properties=""Text;HDR=Yes;FMT=Delimited"""))
{
using (OleDbCommand cmd =
new OleDbCommand("SELECT * FROM [" + fileName + "]", conn))
{
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(ds, "csv");
}
}
}
catch (Exception ex) //Error
{
MessageBox.Show(ex.Message);
}
return ds;
}
dati campione di file CSV:
Org,Item Number,Item Description,Lot Number,Lot Expiration Date,Marketing Division,Product Type
F01,Jan-00,LFIT MORSE TAPER HEAD,MHD7D8,3-May-14,5,5
F01,Jan-05,LFIT MORSE TAPER HEAD,MHATY9,1-Mar-14,5,5
F01,Jan-00,LFIT MORSE TAPER HEAD,MHDEN1,8-Mar-14,5,5
F01,Jan-05,LFIT MORSE TAPER HEAD,MHNY4L,18-Nov-14,5,5
F01,Jan-10,LFIT MORSE TAPER HEAD,MHHLYR,31-May-14,5,5
F01,Jan-00,LFIT MORSE TAPER HEAD,MJNKRK,10-Oct-15,5,5
F01,Jan-00,LFIT MORSE TAPER HEAD,MKNN38,14-Nov-16,5,5
F01,Jan-05,LFIT MORSE TAPER HEAD,MJDV6X,8-Apr-15,5,5
F01,Jan-05,LFIT MORSE TAPER HEAD,MKAK94,22-Feb-16,5,5
Problema:
- primi dati della colonna viene convertito da F01 a 1.
- ho cercato con Access 12.0 dei driver anche.
Grazie mille. Ha funzionato come un fascino. Mi sono riferito per esempio di lavoro http://www.codeproject.com/Articles/11435/Importing-CSV-Data-and-saving-it-in-database –