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

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) 浏览(1315)

利用C#将Excel中将连续多行相同数据项合并

作者:大鹏 发布于:2008-7-14 21:26 Monday 分类:Asp.Net 2.0
标签: 数据库 .net mssql-2005 c# sqlserver2005 excel reportingservice

最后一直在研究Reporting services中将连续多行相同的数据项合并的问题,最后还是没有找到一个好的解决办法。显然可以使用“隐藏重复数据(HideDuplicates 属性)”将相同数据行显示为空,但是单无格边框还是无法隐藏,而且无法将重复数据进行竖直居中。
于是想到一个将数据生成Excel文件再将连续多行相同数据进行合并的办法,感觉这个办法还是比较不错的。
点击在新窗口中浏览此图片

阅读全文>>


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

取得Excel表结构

作者:大鹏 发布于:2008-3-11 22:56 Tuesday 分类:Asp.Net 2.0
标签: 数据结构 数据库 c# sqlserver2005 excel

今天才发现这个GetOleDbSchemaTable还挺管用的。可以通个这个方法得到Excel文件中有多少个Sheet表并可以列出每个Sheet表的结构,包括表中字段的结构是否主键等信息。和ADO.NET 中 DataReader 对象的 GetSchemaTable很类似。

阅读全文>>


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

读出excel文件中的sheet表名

作者:大鹏 发布于:2008-3-11 15:59 Tuesday 分类:Asp.Net 2.0
标签: c# excel

读出excel中的sheet

阅读全文>>


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