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