我正在DataTable使用以下代码将数据从Excel工作表导入到a :
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();
Run Code Online (Sandbox Code Playgroud)
我Date在格式的Excel工作表中有一列dd/MM/yyyy.当日期为dd/MM/yyyy(例如27/12/2009)时,上述代码失败.如何指定日期格式?
编辑(添加更多细节):
它没有抛出任何异常.数据将导入到遇到DataSet无效Date格式的行.我dd/MM/yyyy在Excel表格中有日期.当我导入使用时OleDbDataAdapter,它期望Excel表格中的日期MM/dd/yyyy.当遇到日期时不会自然地27/2/2009停止导入过程,但不会抛出任何错误/异常.所以我只有部分结果DataTable.
请帮忙.
过去拉入日期或其他混合数据列项目让我对 Excel 很不满意。
看起来他们的提供程序“查看”XX 行(取决于提供程序版本)以确定运行时的列类型。将属性应用于连接的先前答案在过去对我有帮助,但当您在列本身中有空白日期和/或不同值时没有帮助 - 它会使 Excel 驱动程序感到困惑。
我建议您改用FileHelpers或其他第三方库。Infragistics Excel 组件对我很好,而 FileHelpers 是开源的。
| 归档时间: |
|
| 查看次数: |
19985 次 |
| 最近记录: |