当前位置: 首页 > news >正文

Java 读取超大excel文件

注意:此参考解决方案只是针对xlsx格式的excel文件!

Maven

<dependency><groupId>com.monitorjbl</groupId><artifactId>xlsx-streamer</artifactId><version>2.2.0</version>
</dependency>

读取方式1

private static void readBigExcel(String filePath) throws FileNotFoundException {FileInputStream in = new FileInputStream(filePath);StreamingReader reader = StreamingReader.builder().rowCacheSize(100)    // number of rows to keep in memory (defaults to 10).bufferSize(4096)     // buffer size to use when reading InputStream to file (defaults to 1024).sheetIndex(0)        // index of sheet to use (defaults to 0).read(in);            // InputStream or File for XLSX file (required)for (Row r : reader) {for (Cell c : r) {System.out.print(c.getStringCellValue() + "  ");}System.out.println();}
}

在这里插入图片描述

读取方式2

public static Workbook getStreamWorkbook(String filePath) throws FileNotFoundException {FileInputStream in = new FileInputStream(filePath);Workbook wk = StreamingReader.builder().rowCacheSize(100)  //缓存到内存中的行数,默认是10.bufferSize(4096)   //读取资源时,缓存到内存的字节大小,默认是1024.open(in);          //打开资源,必须,可以是InputStream或者是File,注意:只能打开XLSX格式的文件return wk;
}

获取到Workbook后,余下读取cell方法参考 java 读取excel,因为超大文件,所以只能使用for each循环方式遍历excel。

参考

Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案
How to load a large xlsx file with Apache POI?

http://www.lryc.cn/news/273781.html

相关文章:

  • K8S中的job和CronJob
  • 中国文化文物和旅游统计年鉴,数据含pdf、excel等格式,文本形式呈现,可预览数据
  • Java版企业电子招标采购系统源码——鸿鹄电子招投标系统的技术特点
  • go语言语法基础
  • eclipse 和java环境的安装教程
  • Win11系统的优化方法参考文档(彻底优化策略)
  • Leetcode13-解密消息(2325)
  • 二进制安装包安装Prometheus插件安装(mysql_exporter)
  • 原生微信小程序如何动态修改svg图片颜色及尺寸、宽高(封装svgIcon组件)
  • Python从入门到网络爬虫(面向对象详解)
  • NPDP产品经理含金量高吗?难考吗?
  • 目标检测 YOLOv5 - 推理时的数据增强
  • 篇二:springboot2.7 OAuth2 server使用jdbc存储RegisteredClient
  • 卷积神经网络|导入图片
  • 关于unity的组件VerticalLayoutGroup刷新显示不正常的问题
  • wait 和 notify 这个为什么要在synchronized 代码块中?
  • 大白话说区块链和通证
  • Jvm之垃圾收集器(个人见解仅供参考)
  • Minitab 21软件安装包下载及安装教程
  • Java版商城:Spring Cloud+SpringBoot b2b2c电子商务平台,多商家入驻、直播带货及免 费 小程序商城搭建
  • 阿里云被拉入黑洞模式怎么办?该怎么换ip-速盾网络
  • Android 13.0 recovery竖屏界面旋转为横屏
  • 异地环控设备如何远程维护?贝锐蒲公英解决远程互联难题
  • flutter 判断是否是web环境
  • 视频智能分析/云存储平台EasyCVR接入海康SDK,通道名称未自动更新该如何解决?
  • 后端开发——JDBC的学习(三)
  • Redis 生产环境查找无过期时间的 key
  • Visual Studio 2017编译Python3.8.18源码
  • 【mujoco】Ubuntu20.04中解决mujoco报错raise error.MujocoDependencyError
  • 机器学习的三个方面