添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.7</version>
</dependency>
<!--- easyexcel依赖poi --->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
public static void readFillField(File templateFile) {
List<String> fillFields = new ArrayList<>();
List<String> listFillFields = new ArrayList<>();
ExcelReaderSheetBuilder excelReaderSheetBuilder = EasyExcel.read(templateFile).sheet();
// 返回每条数据的键值对
List<Map<Integer, String>> listMap = excelReaderSheetBuilder.doReadSync();
Pattern pattern = Pattern.compile("\\{([^}]*)}");
for (Map<Integer, String> data : listMap) {
for (String value : data.values()) {
if (StringUtils.isEmpty(value)) {
continue;
}
Matcher matcher = pattern.matcher(value);
while (matcher.find()) {
value = matcher.group(1);
if (!value.contains(".")) {
fillFields.add(value);
continue;
}
listFillFields.add(value);
}
}
}
System.out.println("单变量:" + fillFields);
// todo填充多列表的话,可以前缀截取下,封装为对象
System.out.println("列表变量:" + listFillFields);
}
public static void main(String[] args) {
readFillField(new File("D:\\123.xlsx"));
}
运行效果
附上填充模板地址 https://blog.csdn.net/weixin_43686429/article/details/115793954