1、在pox.xml文件中导入easypoi依赖
<!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-base --> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.2.0</version> </dependency>
2、看代码,直接使用即可,没有写注释,这里的Map是我之前创建好的,为了实现接口自动化,
这里是读取excel文件的sheet名称在保存到Map中,为了等下方便使用
/** * 把excel文件的sheet名称保存到List。再把list保存到Map中 * * @param fileName */ public static void setSheetToList(String fileName) { List<String> list = new ArrayList(); OPCPackage opcPackage = null; try { opcPackage = OPCPackage.open(new FileInputStream(fileName)); } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } XSSFReader xssfReader = null; try { xssfReader = new XSSFReader(opcPackage); } catch (IOException e) { e.printStackTrace(); } catch (OpenXML4JException e) { e.printStackTrace(); } Iterator sheets = null; try { sheets = xssfReader.getSheetsData(); } catch (IOException e) { e.printStackTrace(); } catch (InvalidFormatException e) { e.printStackTrace(); } if (sheets instanceof XSSFReader.SheetIterator) { XSSFReader.SheetIterator sheetIterator = (XSSFReader.SheetIterator) sheets; while (sheetIterator.hasNext()) { InputStream inputStream = sheetIterator.next(); list.add(sheetIterator.getSheetName()); try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } try { opcPackage.close(); } catch (IOException e) { e.printStackTrace(); } Base.sheetAllName.put(fileName, list); }
3、根据sheet名称所在的索引读取文件
/** * 读取excel文件 * * @param sheetName * @param fileName * @param object * @return */ public static List getExcel(String sheetName, String fileName, Object object) { ImportParams importParams = new ImportParams(); if (Base.sheetAllName.get(fileName) == null) { setSheetToList(fileName); } List<String> sheetNameList = Base.sheetAllName.get(fileName); for (int i = 0; i < sheetNameList.size(); i++) { if (StringUtils.equals(sheetNameList.get(i), sheetName)) { importParams.setStartSheetIndex(i); break; } else if (i == sheetNameList.size() - 1) { System.out.println("没有匹配,请传入正确表名"); } } return ExcelImportUtil.importExcel(new File(fileName), object.getClass(), importParams); }