gpt4 book ai didi

c# - 使用oledb从excel文件中读取 - 空字符串

转载 作者:太空狗 更新时间:2023-10-29 23:39:12 25 4
gpt4 key购买 nike

我正在使用 oledb 从 excel 文件中读取数据。

    DataTable sheet1 = new DataTable();
string excelCS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties=\"Excel 12.0 Xml;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\"";

using (OleDbConnection connection = new OleDbConnection(excelCS))
{
connection.Open();
string selectSql = @"SELECT * FROM [Sheet1$]";
using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectSql, connection))
{
adapter.Fill(sheet1);
}
connection.Close();
}

但是文件的某些单元格有问题。

对于某些单元格,我得到一个空值而不是文本。我试图将一些其他文本放入这些单元格中,但它不起作用 - 我仍然得到空字符串。但是在删除列并再次插入后,我的应用程序获得了正确的单元格值。重要的是问题不在于列中的所有单元格。

这是单元格格式问题还是什么问题?这个 excel 文件将由另一个系统生成,所以我无法手动修改它。

有没有人有任何问题,我该怎么办?

最佳答案

在连接字符串的末尾使用 IMEX = 1。这将解决您的问题。

To always use IMEX=1 is a safer way to retrieve data for mixed data columns. .."

请记住,有时在使用 Update 而不是 Selecting 时使用 IMEX 会出现一些错误。

关于c# - 使用oledb从excel文件中读取 - 空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20496316/

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