gpt4 book ai didi

c# - 使用 OLEDB 读取 excel 文件时数据丢失

转载 作者:行者123 更新时间:2023-12-05 02:23:22 27 4
gpt4 key购买 nike

我正在使用 OLEDB 将 excel 文件读入数据表。但问题是,缺少某些值(空)。在我的 Excel 工作表中,一列数据类型是 General,它具有字符串和整数等混合值。大多数单元格值是整数。为什么 OLEDB 会跳过字符串值。

OleDbConnection connection = new OleDbConnection();

connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + "; Extended Properties=\"Excel 12.0;IMEX=1\";";
OleDbCommand myAccessCommand = new OleDbCommand();

myAccessCommand.CommandText = "Select * from [" + sheetName + "]";

OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);

myDataAdapter.Fill(myDataSet);

最佳答案

检查以下链接并查看“解决方案”下的要点: http://support.microsoft.com/kb/194124

请参阅第 2 点注意事项。

设置 IMEX=1 完全取决于您的注册表设置。默认情况下,检查前 8 行以确定数据类型。 IMEX=1 会产生不可预测的行为,例如跳过字符串值。此问题还有一个小的解决方法。只需在 excel 中的每个单元格值前添加单引号 (')。每个单元格都将被视为字符串。

关于c# - 使用 OLEDB 读取 excel 文件时数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22552774/

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