本文主要是介绍Java实现读取Excel多个Sheet数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一个Excel中有多个数据Sheet,我们想读取每个Sheet数据内容是,可以使用Java的POI库来处理
因为代码中社交多业务,这里只贴出可执行较核心的代码部分。
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;/*** 处理方式比较简单,就是遍历传递进来的多个文件,在遍历每个文件的时候遍历多个Sheet,然后再遍历每行、每个单元格。* 如下方法中大家只看方法体即可。** @author yangxin_ryan* @description excel处理相关工具类* @date 2020-08-06**/
public xxxxx(List<File> files) {ResultData<T> resultData = new ResultData<>();try {for(int i = 0; i < files.size(); i++) {XSSFWorkbook workbook = new XSSFWorkbook(files.get(i));for(int j = 0; j < workbook.getNumberOfSheets(); j++) {XSSFSheet xssfSheet = workbook.getSheetAt(j);if (xssfSheet == null) {continue;}for (int k = 0; k < xssfSheet.getLastRowNum(); k++) {List<String> rowDataList = new ArrayList<>();XSSFRow aRow = xssfSheet.getRow(k);if (aRow == null) {continue;}System.out.println(xssfSheet.getRow(k).getLastCellNum());for (int l = 0; l < xssfSheet.getRow(k).getLastCellNum(); l++) {System.out.println(xssfSheet.getRow(k).getCell(l).toString());rowDataList.add(xssfSheet.getRow(k).getCell(l).toString());}resultData.tList.add((T)rowDataList);}}}} catch (Exception error) {error.printStackTrace();}return resultData;
}
这篇关于Java实现读取Excel多个Sheet数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!