У меня проблема с чтением DateColumns из листа Excel.
Иногда люди используют разные форматы даты, и это вызывает проблемы.Скажем, когда я ожидаю 07/26/2010
от столбца Excel, я получаю 26-Jul-2010
, потому что пользователь изменил свой формат даты.
Я использую Microsoft.Jet.OLEDB
для чтения листа xls в DataTable
.
Могу ли я каким-то образом заставить программу чтения OleDb независимо от того, какой DateFormat установлен в XLS, преобразовать все даты в формат MM / DD / YYYY?
Я использую этот фрагмент кодапрочитайте файл Excel:
string strConn;
strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + uploadedFileInfo.FullName + ";" +
@"Extended Properties=""Excel 8.0;HDR=NO;""";
using (OleDbConnection connToExcel = new OleDbConnection(strConn))
{
//You must use the $ after the object you reference in the spreadsheet
connToExcel.Open();
string firstSheetName = ExcelUploadedFileReaderBuilder
.GetFirstExcelSheetName(connToExcel);
OleDbDataAdapter myCommand
= new OleDbDataAdapter(String.Format("SELECT * FROM [{0}]", firstSheetName), connToExcel);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "uploadedExcelTable");
DataTable dtUploadedExcel = myDataSet.Tables["uploadedExcelTable"];
lineCount = GetLineNumberWhereNULLRowOccured(dtUploadedExcel) + 1;
connToExcel.Close();
}