读书人

大数据量的excel资料读取excel200

发布时间: 2012-09-23 10:28:11 作者: rapoo

大数据量的excel文件读取——excel2007(含代码及示例)

excel2007文件格式与之前版本不同,之前版本采用的是微软自己的存储格式。07版内容的存储采用XML格式,所以,理所当然的,对大数据量的 xlsx文件的读取采用的也是XML的处理方式SAX。

??? 同之前的版本一样,大数据量文件的读取采用的是事件模型eventusermodel。usermodel模式需要将文件一次性全部读到内存中,07版的既然采用的存储模式是xml,解析用的DOM方式也是如此,这种模式操作简单,容易上手,但是对于大量数据占用的内存也是相当可观,在Eclipse中经常出现内存溢出。

??? 下面就是采用eventusermodel对07excel文件读取。

??? 同上篇,我将当前行的单元格数据存储到List中,抽象出 optRows 方法,该方法会在每行末尾时调用,方法参数为当前行索引curRow(int型)及存有行内单元格数据的List。继承类只需实现该行级方法即可。

?

??? 经测试,对12万条数据,7M大小的文件也能正常运行。无需设置vm的内存空间。

?

??? excel读取采用的API为POI3.6,使用前先下载此包,若运行中出现其他依赖包不存在,请下载相应依赖包。

?

抽象类:XxlsAbstract ,作用:遍历excel文件,提供行级操作方法 optRows

    ?

    继承类:XxlsBig,作用:将数据转出到数据库临时表

      ?继承类:XxlsPrint,作用:将数据输出到控制台

        ?源代码在附件中,还包含了说明文件、数据库配置文件、以及整合xls文件和xlsx文件读取的类:Xls2Do。

读书人网 >软件架构设计

热点推荐