有谁知道如何在 C# 中通过 OLEDB 写入 excel 文件 (.xls)?我正在执行以下操作:
OleDbCommand dbCmd = new OleDbCommand("CREATE TABLE [test$] (...)", connection);
dbCmd.CommandTimeout = mTimeout;
results = dbCmd.ExecuteNonQuery();
但是我收到一个 OleDbException 抛出消息:
"Cannot modify the design of table 'test$'. It is in a read-only database."
我的连接似乎很好,我可以很好地选择数据,但我似乎无法将数据插入 excel 文件,有人知道我如何通过 OLEDB 获得对 excel 文件的读/写访问权限吗?
最佳答案
我也在寻找答案,但 Zorantula 的解决方案对我不起作用。 我在 http://www.cnblogs.com/zwwon/archive/2009/01/09/1372262.html 上找到了解决方案
我删除了 ReadOnly=false
参数和 IMEX=1
扩展属性。
IMEX=1
属性以导入模式打开工作簿,因此结构修改命令(如 CREATE TABLE
或 DROP TABLE
)不要'工作。
我的工作连接字符串是:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=workbook.xls;Mode=ReadWrite;Extended Properties=\"Excel 8.0;HDR=Yes;\";"
关于c# - 使用 OLEDB 写入 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57987/