Java读取Excel表格

时间:2025-04-11 08:41:40
package com.hai.util; 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; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; public class ReadExcel { public static void main(String[] args) throws Exception { long t1 = new Date().getTime(); excel(); long t2 = new Date().getTime(); System.out.println((t2-t1)/1000 + "秒"); } public static void excel() throws Exception { File file = new File("C:\\Users\\admin\\Desktop\\排班表\\七月出车表.xlsx"); if (!file.exists()){ throw new Exception("文件不存在!"); } InputStream in = new FileInputStream(file); // 读取整个Excel XSSFWorkbook sheets = new XSSFWorkbook(in); // 获取第一个表单Sheet XSSFSheet sheetAt = sheets.getSheetAt(0); //默认第一行为标题行,i = 0 XSSFRow titleRow = sheetAt.getRow(0); // 循环获取每一行数据 ArrayList<String> dirverName = new ArrayList<>(); for (int i = 0; i < 740; i++) { XSSFRow row = sheetAt.getRow(i + 1); if (row != null){ if (!row.getCell(3).toString().equals("")) dirverName.add(row.getCell(3).toString()); } } HashSet<String> hashSet = new HashSet<>(dirverName); System.err.println("司机数量:"+hashSet.size()); for (String s : hashSet) { System.err.println(s); } } }