gpt4 book ai didi

c# - 将 Excel 工作表加载到 DataTable 中,但每个单元格只导入前 256 个字符,

转载 作者:行者123 更新时间:2023-12-04 21:41:16 27 4
gpt4 key购买 nike

我有一个 Excel 表,我想用 OleDb 将其加载到数据表中。
该工作表包含一个最多包含 1000 个字符的多行文本列。

但是,使用下面的代码,导入后我的每个单元格中只有 256 个字符。

这是提供者的限制还是可以告诉它阅读整列?

var connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\file.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";";
var sheetName = "Sheet1";

using (var con = new OleDbConnection(connectionString))
{
con.Open();

var table = new DataTable(sheetName);
var query = "SELECT * FROM [" + sheetName + "]";
OleDbDataAdapter adapter = new OleDbDataAdapter(query, con);
adapter.Fill(table);
return table;
}

最佳答案

我找到了解决方案。

问题是 OleDb 在猜测,选择哪个 dbtype。
而且,如果前几行仅包含短于 256 个字符的数据,则适用于所有行。

然而,作为一种解决方法,我只是将包含大数据的一行移到工作表的开头,现在整个数据都被导入了。

这是描述问题的链接。还有一个注册表项的解决方法,但我没有尝试过。

http://www.xtremevbtalk.com/showthread.php?t=206454

关于c# - 将 Excel 工作表加载到 DataTable 中,但每个单元格只导入前 256 个字符,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800502/

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