Oledb方式访问Excel

前段时间接的信息管理系统的项目,要求能把数据表导出到Excel。导出模块很快就写好了,但是测试时发现,始终无法把数据写入Excel,一直提示“操作必须使用一个可更新的查询”。刚开始以为是没有权限写Excel,后来把系统折腾了一下,结果还是没能解决。最后查了一下资料,发现我的配置参数有问题。

我原来写的:

1
oleconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox1.Text + ";Extended Properties='Excel 8.0;HDR=yes;IMEX=1'");

特别注意:

1
Extended Properties='Excel 8.0;HDR=yes;IMEX=1'
  1. HDR ( HeaDer Row )

    如果是Yes表示Excel中第一行是字段名称,如果是No表示第一行就是数据了。

  2. IMEX ( IMport EXport mode )

    IMEX 有三种模式:

    0 导出模式(只写)

    1 导入模式(只读)

    2 连接模式(可读写)

我把IMEX=1改成了IMEX=2,问题就解决了。