我正在尝试使用 C# 中的 Microsoft.Jet.OLEDB.4.0** 以编程方式读取 Excel 电子表格(.xlsm 格式)的内容。
我的连接字符串是:
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES;IMEX=1;"";Data Source="C:\Test.xlsm"
当我执行我的代码时,它失败并出现异常说明:
用户代码未处理 OldDbException
外部表不是预期的格式。
但是 - 如果我在 Excel 中打开 Test.xlsm 文件并重新运行我的代码,它会毫无例外地工作并按预期执行。没问题,效果很好。
- 为什么/如何在 Excel 中打开特定文件会改变我的代码访问它的方式?
- 使用 Microsoft Jet OLEDB 提供程序打开 .xlsm 文件的正确方法是什么?
附加信息:运行 Windows 7 x64 / Excel 2010