java如何读取excel

excelJava

1个回答

写回答

德克萨斯

2022-02-03 17:38

+ 关注

Excel
Excel

Java提供了多种方式来读取excel文件,下面是其中两种比较常用的方式:

1.使用Apache POI读取excel文件

Apache POI是Java处理Microsoft Office文档的开源工具库,可以方便地读取、写入、修改excel等Office文档。使用Apache POI读取excel文件的步骤如下:

1)添加依赖:

org.apache.poi

poi

4.1.2

org.apache.poi

poi-ooXML

4.1.2

2)构建Workbook对象:

File file = new File("example.xlsx");

Workbook workbook = new XSSFWorkbook(new FileInputStream(file));

3)读取Sheet、Row、Cell:

Sheet sheet = workbook.getSheetAt(0);

for(Row row : sheet) {

for(Cell cell : row) {

switch(cell.getcellType()) {

case STRING:

System.out.print(cell.getStringCellValue() + "\t");

break;

case NUMERIC:

System.out.print(cell.getNumericCellValue() + "\t");

break;

case BOOLEAN:

System.out.print(cell.getBooleanCellValue() + "\t");

break;

default:

System.out.print("\t");

}

}

System.out.println();

}

完整代码:

import org.apache.poi.ss.usermodel.Cell;

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.xssf.usermodel.XSSFWorkbook;

import Java.io.File;

import Java.io.FileInputStream;

import Java.io.IOException;

public class ReadexcelByPOI {

public static void mAIn(String[] args) throws IOException {

File file = new File("example.xlsx");

Workbook workbook = new XSSFWorkbook(new FileInputStream(file));

Sheet sheet = workbook.getSheetAt(0);

for(Row row : sheet) {

for(Cell cell : row) {

switch(cell.getcellType()) {

case STRING:

System.out.print(cell.getStringCellValue() + "\t");

break;

case NUMERIC:

System.out.print(cell.getNumericCellValue() + "\t");

break;

case BOOLEAN:

System.out.print(cell.getBooleanCellValue() + "\t");

break;

default:

System.out.print("\t");

}

}

System.out.println();

}

workbook.close();

}

}

2.使用Easyexcel读取excel文件

Easyexcel是一个基于POI封装的excel读写框架,提供了比POI更加简便的操作方式,并支持读取大文件。使用Easyexcel读取excel文件的步骤如下:

1)添加依赖:

com.alibaba

easyexcel

2.2.6

2)定义读取监听器:

public class excelListener extends AnalysisEventListener {

@Override

public void invoke(Object data, AnalysisContext context) {

System.out.println(data);

}

@Override

public void doAfterAllAnalysed(AnalysisContext context) {

System.out.println("读取完成");

}

}

3)使用Easyexcel读取excel文件:

String fileName = "example.xlsx";

Easyexcel.read(fileName, new excelListener()).sheet().doRead();

完整代码:

import com.alibaba.excel.context.AnalysisContext;

import com.alibaba.excel.event.AnalysisEventListener;

import com.alibaba.excel.Easyexcel;

public class ReadexcelByEasyexcel {

public static void mAIn(String[] args) {

String fileName = "example.xlsx";

Easyexcel.read(fileName, new excelListener()).sheet().doRead();

}

}

class excelListener extends AnalysisEventListener {

@Override

public void invoke(Object data, AnalysisContext context) {

System.out.println(data);

}

@Override

public void doAfterAllAnalysed(AnalysisContext context) {

System.out.println("读取完成");

}

}

举报有用(17)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号