gpt4 book ai didi

c# - 使用 C# 打开 Excel 2003 电子表格。找不到可安装的 ISAM。异常(exception)

转载 作者:太空狗 更新时间:2023-10-29 18:15:47 25 4
gpt4 key购买 nike

我需要从 xls 中提取数据,我还需要让用户能够更改文件的位置。所以 OleDbConnection 似乎是一个好的开始,直到第一个合并的单元格。

这适用于除合并单元格之外的所有单元格:

OleDbCommand cmd = new OleDbCommand();
cmd.Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=F:\test.xls;Extended Properties=Excel 8.0;");
cmd.CommandText = "SELECT * FROM [Sheet$]";
cmd.Connection.Open();

我发现这应该允许访问合并的单元格:

OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;");

但随后我在 cmd.conn.open() 上收到 Could not find installable ISAM 异常;

我听从了这里的建议: http://support.microsoft.com/kb/209805

这里: Error: "Could Not Find Installable ISAM"

运气不好。

我愿意接受其他从 xls 中提取数据的方法。或者即使有一个命令我可以在 xls 上运行以删除可能工作的 mirged 单元格。

最佳答案

我认为这只是因为如果您有多个扩展属性,则必须将其括在引号中

OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;
Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';");

或者如果单引号不起作用(你懂的)

OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;
Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1;"";");

虽然您的示例没有显示,但此错误也可能是由文件路径中的空格引起的。在这种情况下,您还需要将文件路径用引号引起来。

OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""F:\test.xls"";...

关于c# - 使用 C# 打开 Excel 2003 电子表格。找不到可安装的 ISAM。异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644331/

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