静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

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


评论(0) 引用(0) 浏览(1339)