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); }