office 相关文件读取整理
作者:大鹏 发布于:2013-1-4 14:07 Friday
分类:Asp.Net 2.0
标签: excel adodb
在用ODBC读取DPF、Excel(2003/2007)、txt,db等文件时,存在各种问题。
如用VFP读取DPF文件时,32位系统是正常读取,但是在64位系统下,程序如果采用64位,则不能正常读取。
读取Excel文件时,如果采用Microsoft.Jet.OLEDB 方式,还要在程序中区分Excel2007 和Excel2010等方式,十分麻烦。
在网上找了下,找到Microsoft Access Database Engine 驱动,他可以方便的读取dpf,excel,access,txt 等文件,而且在64位系统下也能正常运行。
Excel 文件读取
string driver = "{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}"; string strConn = string.Format("DRIVER={1};DBQ={0};", filePath, driver); OdbcConnection conn = new OdbcConnection(strConn);
上面的代码可以正常运行在32/64位机器上。
DPF 文件读取
string connStr = "Driver={Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)};DBQ=" + dir; OdbcConnection conn = new OdbcConnection(connStr);
上面的代码可以正常运行在32/64位机器上。
采用这两种驱动方式需要安装Microsoft Access Database Engine。
下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255