1. HTTP Status 500 Internal Server Error
  2. Type Exception Report
  3. Message Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCellStyle.setAlignment(S)V
  4. Description The server encountered an unexpected condition that prevented it from fulfilling the request.
  5. Exception
  6. org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCellStyle.setAlignment(S)V
  7. org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302)
  8. org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977)
  9. org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
  10. org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
  11. org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
  12. javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
  13. org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
  14. javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
  15. org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  16. com.rongdu.cashloan.core.common.web.filter.PerformanceMonitorFilter.doFilterWithProfile(PerformanceMonitorFilter.java:57)
  17. com.rongdu.cashloan.core.common.web.filter.PerformanceMonitorFilter.doFilter(PerformanceMonitorFilter.java:43)
  18. org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
  19. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  20. org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
  21. org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
  22. com.rongdu.cashloan.core.common.web.filter.RemoteAddressFilter.doFilter(RemoteAddressFilter.java:51)
  23. org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
  24. org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
  25. org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
  26. org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
  27. org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
  28. org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
  29. org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
  30. org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
  31. org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
  32. org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
  33. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  34. Root Cause

我的解决思路:

首先,我查看了业务代码,在导出Excel表格的时候需要一些必要的参数,标题,打印数据,Excel表格格式等....先确保业务代码没有问题。

第二,在确保业务代码没有问题的前提下,分析异常,(Message Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCellStyle.setAlignment(S)V)提示信息为没有找到当前方法。如果找不到方法,那么编译的时候是不是应该提示出来。既然编译的时候没有报错,运行时出现,最有可能的是没有找到相应的包,找不到包的错误有一下几种

1.jar包没有导入;

2.jar存在,版本不正确;

3.jar存在,都放在lib下,由于引入的其他jar有使用同样的jar,但是版本不一样。导致jar包冲突。

第1种,在maven中添加,不是maven项目的,自行加入lib中。

第2种和第3种,打印使用类的引用路径。用以确定包的具体路径。然后反编译看看里面是否有相应的方法。如果有还会报错,那要么换高版本的,要么换低版本的包(HSSFWorkbook类名)

System.out.println("引用包路径为:"+HSSFWorkbook.class.getProtectionDomain().getCodeSource().getLocation());

第三,由于业务暂时不需要使用另外一个第三方的jar,我直接在pom中添加<scope>provided</scope>,也可以在对应的jar包中添加

<exclusions>
   <exclusion>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
   </exclusion>
</exclusions>

第四,可以使用Maven Helper对jar的依赖关系进行分析,详细请参考:https://blog.csdn.net/noaman_wgs/article/details/81137893,由于讲的很详细,不在描述。

参考路径:

https://www.cnblogs.com/qxqbk/p/7655307.html

使用poi导出Excel表格,jar包冲突的更多相关文章

  1. java中使用poi导出excel表格数据并且可以手动修改导出路径

    在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下

  2. 复杂的POI导出Excel表格(多行表头、合并单元格)

    poi导出excel有两种方式: 第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加 ...

  3. Apache POI导出excel表格

    项目中我们经常用到导出功能,将数据导出以便于审查和统计等.本文主要使用Apache POI实现导出数据. POI中文文档 简介 ApachePOI是Apache软件基金会的开放源码函式库,POI提供A ...

  4. 使用org.apache.poi导出Excel表格

    public HSSFWorkbook MakeExcel(List<TransactionLogVO> logList) { // SimpleDateFormat sdf = new ...

  5. poi导出excel表格

    package poiexcel; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; ...

  6. java中使用 POI导出excel表格的简单实现

    大概流程分7步: 1.创建工作簿 --> 2.创建sheet表 --> 3.创建row行(建议使用循环) --> 4.用row行逐一创建单元格(建议使用循环) --> 5.单元 ...

  7. Java之POI导出Excel(一):单sheet

    相信在大部分的web项目中都会有导出导入Excel的需求,今天我们就来看看如何用Java代码去实现 用POI导出Excel表格. 一.pom引用 pom文件中,添加以下依赖 查看代码  <!-- ...

  8. Java 读取Excel2007 jar包冲突的问题(org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException)

    1.jar包冲突报错问题 2.使用的jar包,以及重复jar包 3.删除重复jar包

  9. java导出excel表格

    java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...

随机推荐

  1. leetcode 7 Reverse Integer(水题)

    so easy,注意一下输入不爆int但是反转以后可能爆int. class Solution { public: int gao(int w){ ) ; else{ ; while(w--){ an ...

  2. linux命令学习笔记(0):man命令

    Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可. Linux的man手册共有以下几个章节: 代號 代表內容 使用者在shell中可以操作的指令或可执行 ...

  3. Hibernate - 设置隔离级别

    JDBC 数据库连接使用数据库系统默认的隔离级别. 在 Hibernate 的配置文件中可以显式的设置隔离级别. 每一个隔离级别都对应一个整数: 1. READ UNCOMMITED2. READ C ...

  4. 【leetcode刷题笔记】Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  5. Oracle修改字段名、字段数据类型

    语句:alter table tableName rename column oldCName to newCName; -- 修改字段名alter table tableName modify (c ...

  6. 线段树Final版本

    结构体是个好东西... 看着逼格很高 #include<iostream> #include<cstdio> #include<cstdlib> #include& ...

  7. myod中遇到的问题

    一.准备工作 首先在编程之前遇到的第一个问题就是要了解需要编出一个怎样的代码,了解od -tx -tc的具体意思,并观察其输出结果. -tc代表着输出ASCII字符,而-tx则是代表着输出ASCII字 ...

  8. [HDU4652]Dice

    vjudge 题意 \(m\)面骰子,求 1.连续出现\(n\)个相同的停止: 2.连续出现\(n\)个不同的停止 的期望投骰子次数. \(n,m ≤ 10^6\) sol 首先考虑一个转移式子吧. ...

  9. Tangent space(切线空间)

    https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas The tangent, normal, and binormal unit ...

  10. http之pragma

    关于Pragma:no-cache,跟Cache-Control: no-cache相同.Pragma: no-cache兼容http 1.0 ,Cache-Control: no-cache是htt ...