poi兼容97-2003和2007版本导入

本文介绍了一个用于读取Excel文件的Java实用程序类。该类利用Apache POI库解析Excel文件,并将每行数据转换为Object数组形式存储在列表中。支持读取多种Excel文件格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前引用版本:poi 3.10.1版本

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.util.List;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

import com.google.common.collect.Lists;
public class ExcelUtil {

public static List<Object[]> readExcel(String file) throws Exception {
BufferedInputStream inputStream =new BufferedInputStream(
new FileInputStream(file));
Workbook workbook =WorkbookFactory.create(inputStream);
Sheet sheet =workbook.getSheetAt(0);
List<Object[]> dataObjects=readRow(sheet);
return dataObjects;
}

public static List<Object[]> readRow(Sheet sheet) {
List<Object[]> dataObjects = Lists.newArrayList();
for (int rows = 1; rows <=sheet.getLastRowNum(); rows++) {
Row row =sheet.getRow(rows);
if(row !=null){
dataObjects.addAll(readCell(row));
}
}
return dataObjects;
}

public static List<Object[]> readCell(Row row) {
List<Object[]> dataObjects = Lists.newArrayList();
Object[] objects =new Object[row.getLastCellNum()];
for (int cellnum = 0; cellnum < row.getLastCellNum(); cellnum++) {
objects[cellnum] =row.getCell(cellnum);
}
dataObjects.add(objects);
return dataObjects;
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值