c# 向已存在的excel中追加数据,oledb的方式

来源:互联网 发布:java中重写方法的作用 编辑:程序博客网 时间:2024/06/06 12:33

                                 出现的错误及解决办法

出现的错误:
1、运行没错误,但是excel没有插入数据
2、找不到可安装的ISAM
3、从索引115处开始,初始化字符中的格式不符合规范
4、操作必须使用一个可更新的的查询

这些问题的原因都是 连接字符串的问题
String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:test.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=0';";
注意:标红的单引号不要漏了

oledb方式

说明:使用Microsoft Jet 提供程序用于连接到 Excel 工作簿,将Excel文件作为数据源来读写
优点:简单快速,能够操作高版本Excel
缺点:只能够进行有限的操作(读、写)


连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'
provider:表示提供程序名称
Data Source:这里填写Excel文件的路径
Extended Properties:设置Excel的特殊属性
Extended Properties 取值:
Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。
HDR=Yes 表示第一行包含列名,在计算行数时就不包含第一行
IMEX 0:导入模式,1:导出模式:2混合模式


代码:

 String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:/test.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=0';";
                OleDbConnection cn = new OleDbConnection(sConnectionString);
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = cn;
                cn.Open();

                cmd.CommandText = "INSERT INTO [Sheet1$] VALUES()";

                cmd.ExecuteNonQuery();

               cn.Close();


               
1 0
原创粉丝点击