欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > Excel专区 > Excel教程 > Excel2007操作类库

Excel2007操作类库

时间:2016-08-29 22:39作者:admin来源:未知人气:292我要评论(0)

发布一个最近完成的Excel2007操作类库,可以在没有安装Office的机器上快速读写和操作Excel2007格式文件,不过还是需要.net framework2.0 :)。生成效率比较高,写入10000行50列的数据只需12秒,如果数据是纯数字还会更快,我的机器Pentium M 1.8G CPU 1.25G Memory。

Office2007中的Excel,Word,PowedPoint使用了OpenXml文件格式,文件是一个标准的zip压缩包,只需要简单的将文件的扩展名更改为.zip,就能看到其内部的具体内容,大部分是标准的xml文件,所以类库主要的任务就是操作xml。Excel2007的操作类库目前已经有人写过了如:ExcelPackage,最初因为项目需要也曾经改造过改类库,试图将之封装成可以结合报表数据分析工具的Excel2007报表生成工具,但是ExcelPackage内部的操作全部基于XmlDocument,效率低,生成简单的报表还可以,数据量稍微有点大就处理不过来了。

开始研究怎么样才能提高效率的时候,思索了一阵子,基于XmlDocument的操作,涉及了XPath等操作都是基于文档的,许多XPath的查询都是需要遍历文档的,即使再怎么优化XPath也不能提高太多的效率。后面老大提醒了我,应该把所有XML的操作都放到内存当中去做,把Excel文件中的XML文档内容映射到内存中的自定义对象,在操作完成后再将内存中的对象写回zip压缩包中去。没错就是这个思路...

编写这个类库的时候使用了System.IO.Packaging这个名称空间,该空间内提供了一些对zip文件的操作类,该空间位于WindowsBase.dll中,是一个.net3.x的库,其实还有一个可以实现和System.IO.Pacakaging类似功能的类库SharpZipLib,只是之前在编写Excel2007操作类库的时候还不知道,暂且从已经安装了.net3.x的同事那拷贝了WindwsBase.dll过来用,还好能顺利的在VS2005中引用且能正常使用。

此类库目前已经结合一个报表数据分析引擎,在一个中型Web系统中实现Excel2007报表的功能。

相关阅读 你想学的FILTER函数用法,很全了当Excel体积臃肿,运行卡顿时,我们应该做些什么?带合并单元格的表格,求和计数也不难​Excel筛选条件怎么设置​ExcelA4页面怎么设置​Excel表格A列被隐藏了怎么恢复​Excel图例位于底部怎么设置​Excel图表怎么嵌入单元格​Excel没保存不小心关闭怎么恢复​Excel图表怎么设置X轴Y轴

文章评论
发表评论

热门文章 excel怎么制作表格?制作excel表格的步骤技巧excel 常见的六个排序方法,你必须要学会excel自动换行显示不全怎么办excel 数据透视表 选定区域不能分组 的原因和解决方法

最新文章 你想学的FILTER函数用法,很全了当Excel体积臃肿,运行卡顿时,我们应该做些什么? 带合并单元格的表格,求和计数也不难​Excel筛选条件怎么设置​ExcelA4页面怎么设置​Excel表格A列被隐藏了怎么恢复

人气排行 excel怎么制作表格?制作excel表格的步骤技巧excel 常见的六个排序方法,你必须要学会excel自动换行显示不全怎么办excel 数据透视表 选定区域不能分组 的原因和解决方法Excel高级筛选怎么用 excel高级筛选多个条件(并且、或用法)excel if函数的多个条件使用方法Excel中的快速填充键ctrl+e没反应,不能用是为什么?excel 判断两列数据是否一致的四种方法

盖楼回复X

(您的评论需要经过审核才能显示)