首页 > 解决方案 > 写入数据表时不是合法的 ole auth 日期问题

问题描述

我开发了一个 Web 应用程序,使用批量复制列映射将 Excel 数据导入 SQL Server 表。我使用select * from sheet查询来复制工作表数据并在将其写入表之前插入数据表。

工作表中有 20 列。最后一列包含日期时间、字符串、整数和特殊字符类型的数据。它是一种混合数据类型。当应用程序试图将数据复制并插入到数据表中意味着它显示

不是合法的 ole auth 日期

我检查了最后一列的值。日期值仅是正确的,但它显示不是合法的 ole auth 日期问题。

除了使用之外select * from sheet,是否有任何替代方法,例如使用 for 循环按行将数据从 Excel 插入数据表?

代码是

OleDbConnection excelConnection1 = new OleDbConnection(excelConnectionString);

string query = string.Format("Select * from [{0}]", excelSheets[0]);

using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, excelConnection1))
{
    dataAdapter.Fill(dt); **// issue raise when it try to fill the datatable**
}

标签: c#sql-serverexceldatatablesqlbulkcopy

解决方案


推荐阅读