java.lang.NoClassDefFoundError:org / apache / poi / ss / usermodel / ExtendedColor
我试图从Spring框架中的Web应用程序中导出一个Excel文件。 首先,我以XLS格式完成了这个工作。 现在,我正在尝试在XLSX格式中做同样的事情。 为此,我将HSSFWorkbook等一些类更改为XSSFWorkbook,或将HSSFSheet更改为XSSFSheet。
问题出在这个来源的第三行:
XSSFCellStyle estiloFecha = workbook.createCellStyle(); estiloFecha.cloneStyleFrom(estiloNormal); estiloFecha.setDataFormat(workbook.getCreationHelper().createDataFormat().getFormat("dd/MM/yyyy hh:mm"));
错误是:
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/ExtendedColor org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:859) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:754) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:399) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:354) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:185) net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:159) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264) org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
一些帮助?
提出一个答案的评论 – 你有不匹配的兴趣点jar子。 Apache POI有几个不同的jar子,涵盖了不同的项目组件 。 正如POI常见问题中所解释的那样,这些必须全部来自相同的版本 ! 不支持在版本之间混合使用jar,并且像这样失败
快速修复 – 删除所有的Apache POIjar子,只添加最新版本的jar子。
如果您无法弄清楚您实际使用的是什么jar子,请使用此FAQ条目中给出的代码,通过类加载程序报告所使用的jar子。 然后,删除旧的,所以你只能从一个版本中得到一套一致的POIjar子
之后,考虑使用Apache Maven或Apache Ant或Groovy的Gradle等来处理您的构build过程和依赖关系。 那些照顾到你一个一致的设置,避免你发现在你的类path上抛出随机不兼容jar的问题!
- 如何使用poi在java中自动调整行高度?
- Apache POI-HSSF与POI-XSSF
- Java递增对象名称
- 读一个Excel工作表并将其插入数据库的MySQL
- Apache POI – 具有非英文字符的列,例如泰文和单元格为空,然后跳过单元格
- Java中XIRR函数的公式评估器
- org.apache.poi.openxml4j.exceptions.InvalidOperationException:无法打开指定的文件:
- 使用Apache POI打开.xlsx文件会导致出现NoClassDefFoundError InvalidFormatExceptionexception
- 如何在合并单元格poi java中插入值