我在从 Excel 表中读取 DateColumns 时遇到问题。
有时人们使用不同的日期格式,这会带来问题。假设当我期望07/26/2010
从 Excel 列中获得时26-Jul-2010
,因为用户更改了其日期格式。
我Microsoft.Jet.OLEDB
用于将 xls 表读入DataTable
.
无论 XLS 上的 DateFormat 设置如何,我能否以某种方式强制 OleDb 阅读器将所有日期转换为 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();
}