java读取Excel文档内容

所需jar包

在这里插入图片描述

1.初始化HSSFWorkbook、HSSFSheet对象

HSSFWorkbook:Excel的文档对象
HSSFSheet:Excel的sheet页对象

		//获取Excel文件,并转为HSSFWorkbook
        HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(new File("D:\\TMP\\OutPutSource.xls")));
        //获取第一sheet页,也可根据名称获取sheet页
        HSSFSheet sheet = wb.getSheetAt(0);
        //取得当前sheet页行数
        int rownum = sheet.getPhysicalNumberOfRows();

2.初始化Row(行)对象

		Row row = null;
        int cellnum = 0;
        String cellData = null;
        //sheet页中最大的列数,防止取数取不到
        for (int i = 0; i < rownum; i++) {
        	//获取当前行对象
			row = sheet.getRow(i);
			int rowCellnum = row.getPhysicalNumberOfCells();
			if(rowCellnum > cellnum){
				cellnum = rowCellnum;
			}
		}

3.获取数据

for (int i = 1; i < rownum; i++) {
        	cellData = null;
        	row = sheet.getRow(i);
        	if (row != null) {
				for(int j = 0; j < cellnum; j++) {
					//根据获取类型选则方法
					cellData = cellData + "@"+ row.getCell(j).getRichStringCellValue().getString();
				}
				String[] infos = cellData.split("@");
				String str1 = infos[0];
				String str2 = infos[1];
			} else {
				break;
			}
        }
### 使用Java读取Excel文件内容并输出 为了实现这一目标,可以采用`EasyExcel`库来简化操作过程。首先,在项目中引入必要的Maven依赖[^4]。 ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> </dependency> ``` 接着定义一个简单的类用于表示每一行的数据结构(假设每列对应于对象的一个属性)。这里以通用的对象为例: ```java public class DataModel { private String column1; private Integer column2; // Getters and Setters } ``` 之后编写主要逻辑代码完成读取工作。通过创建读取器实例,并指定监听器处理每一行数据,最终调用相应方法启动读取流程[^3]。 ```java import com.alibaba.excel.EasyExcel; import com.alibaba.excel.read.builder.ExcelReaderBuilder; import com.alibaba.excel.read.listener.ReadListener; public class ExcelReader { static class YourReadListener implements ReadListener<DataModel> { @Override public void invoke(DataModel data, AnalysisContext context) { System.out.println(data); } @Override public void doAfterAllAnalysed(AnalysisContext context) { System.out.println("Finished reading all rows."); } } public static void main(String[] args){ String filePath = "path_to_your_excel_file.xlsx"; EasyExcel.read(filePath).head(DataModel.class).registerReadListener(new YourReadListener()).sheet().doRead(); } } ``` 上述程序能够遍历整个Excel文档内的记录,并逐条打印出来。对于可能存在的空行情况,则可以在自定义的监听器内部加入额外判断逻辑予以过滤掉不需要的内容[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉淀顶峰相见的PET

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值