Excel シートからの DateColumns の読み取りに問題があります。
人々が異なる日付形式を使用することがあり、これが問題を引き起こします。ユーザーが日付形式を変更したため07/26/2010
に取得した Excel 列に期待する場合を考えてみましょう。26-Jul-2010
Microsoft.Jet.OLEDB
xls シートを に読み込むために使用しDataTable
ます。
すべての日付を MM/DD/YYYY 形式に変換するために、XLS で DateFormat が設定されているものは何でも OleDb リーダーに強制できますか?
このコードを使用して、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();
}