调用org.apache.poi.ss.usermodel.Font.getIndexAsInt()
时在setFont
中发生了异常。
public static CellStyle getFontBoldedUnderlinedCell(SXSSFWorkbook workbook) {
Font font = workbook.createFont();
font.setBold(true);
font.setUnderline(XSSFFont.U_SINGLE);
CellStyle style = workbook.createCellStyle();
style.setFont(font);
return style;
}
我的项目包含以下库。
如何解决此问题?
StackTrace:
11:03:00,255 SEVERE com.epic.cmsreports.util.interceptor.AccessControlIntercepter]
(default task-57) null: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
at com.epic.cmsreports.util.interceptor.AccessControlIntercepter.intercept(AccessControlIntercepter.java:66)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
答案 0 :(得分:1)
根据JavaDoc getIndexAsInt已在4.0.0版本中添加。
看起来,实际上您使用poi-ooxml <4.0.0,应该检查是否只有一个jar依赖项。
如果使用Maven或类似工具,则需要查看依赖关系树。
如果您只是将jar文件添加到目录中,建议您在找到所有Font类后,在所有jar文件中搜索“ org.apache.poi.ss.usermodel
”和“ org.apache.poi.xssf.streaming
”(仅使用文件搜索),您需要检查版本(打开jar文件作为zip存档)。