Microsoft.Ace.OleDb.12.0 操做excel

    在用c#操做excel的时候,碰到了一下的问题:html

  1.Microsoft.Ace.OleDb.12.0未安装,能够到下载2007 Office system 驱动程序AccessDatabaseEngine2007_CHS.zip:sql

     数据链接组件安装
     http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exec#

  2.链接字符串的问题。采用Microsoft.Jet.OleDb.4.0,能够读取excel2007之前的版本,在客户机上不须要部署office,采用Microsoft.Ace.OleDb.12.0的时候,须要安装引擎。ide

      @"Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + excelFile + @";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'"; //此链接能够操做.xls与.xlsx文件。//备注: "HDR=yes;"是说Excel文件的第一行是列名而不是数据,"HDR=No;"正好与前面的相反。  "IMEX=1 "若是列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。excel

  3.oledb链接打开的时候出现外部表不是预期的格式,这是由于读取的表格多是带有html的格式,须要打开该表格,另存为标准的xls格式文档便可读取htm

采用oledb的时候读取和读写都比较的方便快速,尤为是能够不须要安装office组件,采用sql语句进行操做通用性强,将Excel中内容看做数据表,读取操做简单可靠,适合内容规范的Excel表格的数据读取可是缺点是当Excel结构复杂,如含合并单元等时,没法正确读取,甚至出现不可预知的异常。ip

相关文章
相关标签/搜索