【问题标题】:Import data from Excel File into a dataTable.DataTable return empty column将 Excel 文件中的数据导入 dataTable.DataTable 返回空列
【发布时间】:2012-02-12 20:55:07
【问题描述】:

我想将 excel 导入我的数据库。但是现在我在从 excel 文件中导入数据时遇到了一个非常奇怪的问题。

这是excel文件的截图

我实际上想将 Brand 列导入我的数据库。我可以将那些 AW08 的记录导入 dataTable ,但是当记录为 2006 ,数据表返回空列。另一方面,品牌的格式是general类型

这是dataTable的截图

这是我的代码

 DataTable dtExcel = new DataTable();
            OleDbConnection conn = new OleDbConnection(strConn);
            // Initialize an OleDbDataAdapter object.

            conn.Open();
            OleDbCommand ocmd = new OleDbCommand("select * from [MenShoe $] ", conn);
            // Initialize an OleDbDataAdapter object.
            OleDbDataAdapter da = new OleDbDataAdapter("select * from [MenShoe $] ", conn);
            // Fill the DataTable with data from the Excel spreadsheet.
            da.Fill(dtExcel);

以前有人遇到过这个问题吗?

【问题讨论】:

    标签: excel import datatable


    【解决方案1】:

    也许您的问题与应用于 BRAND 列的格式类型有关。

    看到AW08 看起来像一个字符串,而2006 被视为一个数字。看看那个。

    尝试在 Excel 中修改整个列的格式以改用 TEXT 并再次测试导入。

    【讨论】:

    • 你好,整栏的格式是general。我尝试擦除 2006 并再次在列中填充文本。然后我将列更改为文本。现在它可以工作了。一般类型的格式不适合2006等数字吗?顺便说一下没有手动更改记录的其他更好的解决方案?因为我可能会导入大量数据
    • @user998405:所以正如我所料,改变格式就可以了。我建议您将列格式设置为 TEXT(因为它可以保存任何类型的数据并反映您的给定情况)。将此 Excel 电子表格保存为模板并将其传递给使用它的任何人。
    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    相关资源
    最近更新 更多