Excel文件读写(创建与解析)

本文介绍了Java中处理Excel文件的主流技术,包括Apache POI和Alibaba EasyExcel。Apache POI提供HSSF和XSSF来解析Excel,适合不同数据量场景。EasyExcel采用逐行读取模式,降低内存占用,尤其适用于大数据量文件。文中通过实例展示了如何使用SXSSFWorkbook处理超大Excel文件,并对比了两者在写入10w行数据时的性能和CPU占用。
摘要由CSDN通过智能技术生成

可以进行Excel文件处理的主流技术包括:

① Apache POI ( 基于DOM方式进行解析,将文件直接加载内存,速度较快,适合Excel文件数据量不大的应用场景)

② JXL (适合Excel文件数据量不大的应用场景)

③ Alibaba EasyExcel (采用逐行读取的解析模式,将每一行的解析结果以观察者的模式通知处理(AnalysisEventListener),所以比较适合数据量较大的Excel文件解析)
(其中常用的是Apache POI,Alibaba EasyExcel。)

一.Apache POI

POI提供了对不同格式文件的解析:
HSSF用于解析旧版本的Excel文件(.xls),由于旧版本的Excel文件只能存在65535行数据,所以已经不常用,目前常用XSSF解析Excel文件(.xlsx)。

首先添加jjar包依赖:在这里插入图片描述

1. Workbook
Workbook接口代表一个Excel文件,通常创建它的实现类对象来创建(/加载)Excel文件,常用实现类是XSSFWorkbook

(1).创建Excel文件

try (Workbook workbook = new XSSFWorkbook();
				FileOutputStream out =
						new FileOutputStream("E:\猿\demo.xlsx")) {
			
			// 将 workbook 对象中包含的数据,通过输出流,写入至Excel文件
			workbook.write(out);
			} catch (IOException e) {
			e.printStackTrace();
		}

(2).加载(解析)Excel文件

        // 通过输入流,读取excel文件
		FileInputStream in = new FileInputStream("E:\成绩.xlsx");
		// 将输入流传入Workbook
		Workbook workbook = new XSSFWorkbook(in);

注意还要关闭输入流,可以调用 in.close(),我们通常使用 try catch块来自动关闭:

try (Workbook workbook = new XSSFWork
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值