博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java快速读取大数据量的Excel文件,格式为.xlsx
阅读量:3915 次
发布时间:2019-05-23

本文共 1946 字,大约阅读时间需要 6 分钟。

1、有一个maven工程,或者一个java工程

maven工程的话比较简单
pom文件中直接引入下面依赖即可
org.apache.poi
poi
4.0.0
org.apache.poi
poi-ooxml
4.0.0
org.apache.poi
poi-scratchpad
4.0.0
com.monitorjbl
xlsx-streamer
2.1.0

2、测试代码如下

public class Test {
public static Map
> test(File file) throws Exception{
FileInputStream in = new FileInputStream(file); Map
> mapData = new HashMap
>(); Workbook wk = StreamingReader.builder() .rowCacheSize(100) //缓存到内存中的行数,默认是10 .bufferSize(4096) //读取资源时,缓存到内存的字节大小,默认是1024 .open(in); //打开资源,必须,可以是InputStream或者是File,注意:只能打开XLSX格式的文件 int sheetNums = wk.getNumberOfSheets(); for(int i = 0 ; i < sheetNums;i ++){
List
sheetData = new ArrayList
(); Sheet sheet = wk.getSheetAt(i); String sheetName = wk.getSheetName(i); //遍历所有的行 for (Row row : sheet) { StringBuilder sb = new StringBuilder(); //遍历所有的列 for (Cell cell : row) { sb.append(cell.getStringCellValue()); } sheetData.add(sb.toString()); } mapData.put(sheetName,sheetData); } return mapData; } public static void main(String[] args) throws Exception { File file = new File("D:\\workspace\\2020\\07\\10\\test"); if(file.isDirectory()){ File[] files = file.listFiles(); for(File file1: files){ Map
> test = test(file1); for(Map.Entry
> m : test.entrySet()){ for(String s : m.getValue()){ System.out.println(s); } } } } }}

3、如果不是maven工程,则需要将需要的jar包都引入到项目中即可

在这里插入图片描述

转载地址:http://wgcrn.baihongyu.com/

你可能感兴趣的文章
使用Jenkins来发布和代理.NetCore项目
查看>>
欢迎来到 C# 9.0(Welcome to C# 9.0)
查看>>
Dapr微服务应用开发系列1:环境配置
查看>>
使用 Visual Studio 2019 批量添加代码文件头
查看>>
【BCVP更新】StackExchange.Redis 的异步开发方式
查看>>
Istio 1.7——进击的追风少年
查看>>
.NET5.0 Preview 8 开箱教程
查看>>
efcore技巧贴-也许有你不知道的使用技巧
查看>>
真・WPF 按钮拖动和调整大小
查看>>
做权限认证,还不了解IdentityServer4?不二话,赶紧拥抱吧,.NET Core官方推荐!...
查看>>
MongoDB最新4.2.7版本三分片集群修改IP实操演练
查看>>
编写第一个 .NET 微服务
查看>>
深入探究.Net Core Configuration读取配置的优先级
查看>>
Blazor带我重玩前端(六)
查看>>
使用 C# 捕获进程输出
查看>>
数据库单表千万行 LIKE 搜索优化手记
查看>>
.NET Core 中生成验证码
查看>>
.NET Core 中导入导出Excel
查看>>
初识ABP vNext(8):ABP特征管理
查看>>
WPF 消息框 TextBox 绑定新数据时让光标和滚动条跳到最下面
查看>>