gpt4 book ai didi

c# - 从 Excel 工作表导入时日期时间格式不匹配

转载 作者:太空狗 更新时间:2023-10-29 18:33:41 26 4
gpt4 key购买 nike

我正在使用以下代码将数据从 Excel 工作表导入到 DataTable:

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();

我在 Excel 工作表中有一个 Date 列,格式为 dd/MM/yyyy。当日期为 dd/MM/yyyy(例如 27/12/2009)时,上述代码将失败。如何指定日期格式?

编辑(添加更多细节):

它没有抛出任何异常。数据被导入到 DataSet 中,直到遇到无效的 Date 格式的行。我在 Excel 工作表中将日期设置为 dd/MM/yyyy。当我使用 OleDbDataAdapter 导入时,Excel 工作表中的日期应为 MM/dd/yyyy。自然不会,当它遇到诸如 27/2/2009 之类的日期时,它会停止导入过程,但不会抛出任何错误/异常。所以我在 DataTable 中只有部分结果。

请帮忙。

最佳答案

在过去,拉入日期或其他混合数据列项目让我对 Excel 感到厌烦。

他们的提供者似乎“窥视”了 XX 行(取决于提供者版本)以确定列类型在运行时。将属性应用于您的连接的先前答案在过去对我有帮助,但是当您在列本身中有空白日期和/或不同值时,不会帮助 - 它会混淆 Excel 驱动程序。

我建议您使用 FileHelpers或另一个第三方库。 Infragistics Excel 组件对我很好,而 FileHelpers 是开源的。

关于c# - 从 Excel 工作表导入时日期时间格式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/965017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com