有没有人知道如何通过C#中的OLEDB写入excel文件(.xls)?我正在做以下事情:
OleDbCommand dbCmd = new OleDbCommand("CREATE TABLE [test$] (...)", connection); dbCmd.CommandTimeout = mTimeout; results = dbCmd.ExecuteNonQuery();
但是我收到一条带有消息的OleDbException:
"无法修改表'test $'的设计.它位于只读数据库中."
我的连接似乎很好,我可以选择数据,但我似乎无法将数据插入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;\";"
您需要添加ReadOnly=False;
到您的连接字符串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=fifa_ng_db.xls;Mode=ReadWrite;ReadOnly=false;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";