今天使用easyExcle插件下载excle文件里面无数据,控制台报错:
java.lang.IllegalArgumentException: Invalid char (/) found at index (19) in sheet name 'XXX'
at org.apache.poi.ss.util.WorkbookUtil.validateSheetName(WorkbookUtil.java:155)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.createSheet(XSSFWorkbook.java:849)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:679)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:90)
at com.alibaba.excel.util.WorkBookUtil.createSheet(WorkBookUtil.java:66)
at com.alibaba.excel.context.WriteContextImpl.createSheet(WriteContextImpl.java:187)
at com.alibaba.excel.context.WriteContextImpl.initSheet(WriteContextImpl.java:167)
at com.alibaba.excel.context.WriteContextImpl.currentSheet(WriteContextImpl.java:114)
at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:56)
at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:161)
at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:146)
百度发现这位博主的文章发现excle对名称有限制
点击查看文章
加上正则表达式对excle名称进行效验
String excleName = "123";
String pattern = "^[^\\\"\\?\\*\\:\\<\\>\\|\\/\\\\]"+"{"+excleName.length()+",}$";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(excleName);
if (!m.matches()){
System.out.println("excle名称不能包含[\\,/,:,*,?,<,>,|]字符");
}