hc学习平台

 找回密码
 立即注册
搜索
热搜: 活动 交友 javakc
 › 学习交流 › 项目难点 › excel大数据量的导入
查看: 1210|回复: 0
打印 上一主题 下一主题

excel大数据量的导入

[复制链接]

5

主题

6

帖子

0

博客

amok

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

跳转到指定楼层
楼主
发表于2018-12-14 17:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Excel大数据量导入、导出的相关问题及解决方案    

    在Java项目中经常会出现对于Office-Excel操作的功能, 例如Excel文件的导入与导出功能.一般项目中使用到的插件包含(apache-poi, ms-jacob)由于Jacob受限于Windows平台, 所以选择apache-poi的居多!

    在POI实际的使用过程中, 一般没有太多的问题, 但是一旦Excel中数据量过多则会出现一些问题.

    1.内存溢出

    2.超出行数限制

        97-03(xls): 最多65535行

        07--(xlsx): 最多104万行

    

    excel导入的文件中内容过多在读取并解析的过程中则会出现内存溢出.

    

    07版本以后的excel底层为xml文件, 数据存储在xml文档中

       

      

    入上图所述, 修改excel文档后缀xlsx为zip压缩文件, 用压缩包打开该文件.能看到里面的xml.

    以sharedString.xml与workbook.xml两个文件为主. sharedString.xml存储的是excel中的变量,

    workbook.xml中存储的则为sheet单元的数据.通过POI提供的解析xml的类XLSX2CSV.java来去解析

    excel就不会出现内存溢出的问题了!



站点统计|举报|Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, , Processed in 0.195171 second(s), 9 queries .

Powered by javakc! X1.0

© 2004-2014 javakc

f1208.com 备案号:京ICP备14030918号-1

返回顶部