前段时间接的信息管理系统的项目,要求能把数据表导出到Excel。导出模块很快就写好了,但是测试时发现,始终无法把数据写入Excel,一直提示“操作必须使用一个可更新的查询”。刚开始以为是没有权限写Excel,后来把系统折腾了一下,结果还是没能解决。最后查了一下资料,发现我的配置参数有问题。
我原来写的:
[csharp]
oleconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox1.Text + ";Extended Properties=’Excel 8.0;HDR=yes;IMEX=1’");
[/csharp]
特别注意:
[csharp]
Extended Properties=’Excel 8.0;HDR=yes;IMEX=1’
[/csharp]
1.HDR ( HeaDer Row )
如果是Yes表示Excel中第一行是字段名称,如果是No表示第一行就是数据了。
2.IMEX ( IMport EXport mode )
IMEX 有三种模式:
0 导出模式(只写)
1 导入模式(只读)
2 连接模式(可读写)
我把IMEX=1改成了IMEX=2,问题就解决了。