sto importare dati da un foglio di Excel a una DataTable
utilizzando il seguente codice:DateTime formato non corrispondente sulla importazione da foglio di Excel
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties=Excel 8.0");
con.Open();
_myDataSet = new DataSet();
OleDbDataAdapter myCommand = new OleDbDataAdapter(" SELECT * FROM [" + "Sheet1" + "$]", con);
myCommand.Fill(_myDataSet);
con.Close();
Ho una colonna Date
nel foglio Excel in formato dd/MM/yyyy
. Il codice sopra riportato non funziona quando la data è dd/MM/yyyy
(ad esempio 27/12/2009
). Come specificare il formato della data?
EDIT (l'aggiunta di ulteriori dettagli):
Non è gettare alcuna eccezione. I dati vengono importati nello DataSet
fino alla riga in cui è stato rilevato un formato Date
non valido. Ho la data come dd/MM/yyyy
nel foglio Excel. Quando si importa utilizzando OleDbDataAdapter
, è previsto che la data nel foglio di Excel sia MM/dd/yyyy
. Ovviamente, quando incontra una data come 27/2/2009
, interrompe il processo di importazione, sebbene non venga emesso alcun errore/eccezione. Quindi sto avendo solo risultati parziali in DataTable
.
Per favore aiuto.
Se si apre il foglio in Excel, le celle vengono riconosciute come date? puoi applicare ad esempio la funzione "mese" su di loro? – tekBlues
Cosa vuoi dire che il codice sta fallendo? C'è un'eccezione o i dati non vengono riconosciuti come data? –
Non sta generando alcuna eccezione. I dati vengono importati nel DataSet fino alla riga in cui viene rilevato un formato Data non valido. Ho la data come gg/MM/aaaa in foglio Excel. Quando si importa con OleDbDataAdapter, è previsto che la data nel foglio Excel sia in MM/gg/aaaa.Ovviamente, quando incontra una data come "27/2/2009", interrompe il processo di importazione, anche se non vengono emessi errori/eccezioni. Aiuto di Pls! – devnull