windows读取Excel文件出错。System.ArgumentException: 不是合法的 OleAut 日期。
我用C#写了个Windows程序,用于获取EXCEL文件中的数据。一个EXCEL文件里有40多个Sheet页,其中两个读不出数据。提示下面的错误。每个Sheet页几乎都是不同格式的数据,把出错的Sheet页的内容,复制出来,然后保存时,选择性粘贴,数值。再读取就可以了。我看不出这个Sheet页的数据有什么特别的地方。
百度不到相关的信息,问下坛子里的朋友有没有谁见过的,知道这个是什么原因的,谢谢啦。
System.ArgumentException: 不是合法的 OleAut 日期。
在 System.DateTime.DoubleDateToTicks(Double value)
在 System.Data.OleDb.ColumnBinding.Value_DATE()
在 System.Data.OleDb.ColumnBinding.Value()
在 System.Data.OleDb.OleDbDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.SchemaMapping.LoadDataRow()
在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
在 GetPhoneNumber.Form1.btnUpload_Click(Object sender, EventArgs e) 位置 D:\UserData\000000\我的文档\Visual Studio 2005\Projects\TestSolution\GetData\Form1.cs:行号 107
部分代码:
string sql = "select * from [" + sheetName + "]";
DataTable dt = new DataTable();//每个SHEET页,当一个表格
OleDbDataAdapter myda = new OleDbDataAdapter(sql, cnnxls);
myda.Fill(dt);//获取当前SHEET页的内容,放在表格对象中。------这行报错
[解决办法]
顶上去。
[解决办法]
設定,當遇到有問題的sheet的時,全選並清空單元格的格式,再讀取!!
[解决办法]