我需要从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()上出现了“找不到可安装的ISAM”异常。
我遵循了这里的建议: http://support.microsoft.com/kb/209805
以及这里: 错误:“找不到可安装的ISAM”
没有运气。
我愿意尝试其他从xls中提取数据的方法。或者,如果有一个命令可以运行在xls上以删除合并单元格,那可能会起作用。