poi版本:3.9

xlsx: 在导出多sheet页时、即使用cloneSheet方法在设置sheetName就会报错:

org.apache.xmlbeans.impl.values.XmlValueDisconnectedException

代码:

// 写样式信息
            wb.cloneSheet(0);
            wb.setSheetName(2, "<style>");

由于我们项目中直接更换poi版本需要代码改动量过大、所以只能找源码处理。于是翻了官方文档、各种资料后,解决方案如下:

这段代码是XSSFWorkBook中cloneSheet()方法   左边是3.9版本的源码  右侧是修改后的

至于替换源码

从 poi官网 下载对应版本的源码 根据上图路径找到XSSFWorkBook

在idea里面项目中新建一个包和路径同名、把XSSFWorkBook复制过去、然后修改代码保存   然后clean  install 即可以得到编译好的class文件  然后去jar包里面替换掉相应的class文件

----------------------------------------------------------------------------------------

以上是上周遇到的一个问题,但是昨天又遇到这个神奇的异常  XmlValueDisconnectedException

是在sheet.createRow()时出现的问题

解决方案:

XSSFSheet.createRow()方法中有一段代码如下:

if(prev!= null){CTRow ctRow = prev.getCTRow();/ ctRow.set(CTRow.Factory.newInstance()); * / <---将被删除Iterator it = prev.iterator();while(it.hasNext()){it.next();it.remove();}}

删除注释掉的代码即可

以上问题都是从此网站找到的解决方案

如果大家不是必须使用3.9版本的poi  尽量更新poi版本即可不需要调整源码。很无奈需要找到源码的问题,但是也有这样的机会可以多看看源码实现,虽然看完还是一脸懵~~~~

poi导出兼容xls和xlsx时报错XmlValueDisconnectedException相关推荐

  1. java 兼容excel_Java解析Excel工具类(兼容xls和xlsx)

    依赖jar org.apache.poi poi-ooxml 4.0.1 ExcelUtils.java package javax.utils; import java.io.File; impor ...

  2. Java解析Excel工具类(兼容xls和xlsx)

    依赖jar <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml< ...

  3. Java实现Excel表格数据的导入(兼容xls与xlsx)

    Java实现Excel表格数据的导入(兼容xls与xlsx) 目录 依赖 代码 注意点 目录 依赖 <!-- 添加POI的依赖用于Excel的操作 --><dependency> ...

  4. java实现读取excel表格中的数据,兼容xls和xlsx

    前言 利用 java 实现读取 excel 表格中的数据,兼容 xls 与 xlsx 格式,不用额外做区分,写不同的实现方法. 引入的依赖包 <dependency><groupId ...

  5. java poi对excel xls和xlsx格式文件导入导出

    一)poi简介 Apache POI项目是用于基于Microsoft的OLE 2复合文档格式开发文件格式的纯Java端口的主项目. 官网POI API地址:https://poi.apache.org ...

  6. 前端页面导出为xls、xlsx格式的excel文件

    html页面导出为excel文件 excel有两种文件格式,一种为xls,另一种为xlsx文件格式. 1.如果需要xls文件格式,并且会附带上传文件的格式和表格中的函数可选择导出为xls文件,但是此文 ...

  7. JavaExcel工具类(兼容xls和xlsx)

    最近用上了导入excel表格处理保存到后台数据库的功能!利用的是org.apache.poi进行处理 示例代码: import org.apache.poi.hssf.usermodel.HSSFWo ...

  8. java poi导出兼容office

    导出xls 构建workbook时,用HSSFWorkbook; 导出xlsx 构建workbook时,用SXSSFWorkbook.(切忌不要用XSSFWorkbook,害人害己)

  9. 利用 java 实现读取 excel 表格中的数据,兼容xls与xlsx以及csv格式

    1.引入依赖包 <!--xls文件操作--><dependency><groupId>org.apache.poi</groupId><artif ...

最新文章

  1. shell 排序函数
  2. 双线性内插怎么缩小_汗蒸桶怎么选择才是最好的
  3. 分享Java面试中的几个重要基础问题
  4. js动态创建样式style
  5. CodeForces 895 B. XK Segments 二分查找
  6. 鸿蒙OS加持!华为MatePad2系列将搭载骁龙888/麒麟9000芯
  7. JS截取字符串substr 和 substring方法的区别
  8. MyBatis 使用 foreach 批量插入
  9. JavaScript如何计算两个日期之间的时间差?
  10. python 使用GDAL实现栅格tif转矢量shp
  11. js实现网页在线聊天功能(四)
  12. SSL P2133 腾讯大战360 题目
  13. 6岁女孩出口之乎者也 用《论语》典故批评妈妈
  14. 【HTML5期末大作业】制作一个简单HTML我的公益校园安全网页(HTML+CSS+JS)
  15. 下载微信账单用于分析
  16. GitHub 狂飙 30K+star 面试现场, 专为程序员面试打造, 现已开源可下载
  17. VS2010出现重复的代码项原因及解决方式
  18. 2020-08《信息资源管理 02378》真卷(独家文字版),圈定章节考点+统计真题分布
  19. krnln.fnr和shell.fne_电脑开机显示failedtoloadkernllibrary什么意思啊
  20. 神经网络的基本原理,神经网络算法三大类

热门文章

  1. 【ftrack聊天室】又来大佬了!VR的流程搭建还可以这么玩?!
  2. OBS窗口捕获黑屏的解决办法
  3. React Developer Tools Chrome浏览器扩展一直提示“This page doesn’t appear to be using React.“最新解决办法
  4. C 语言:#elif 指令
  5. jquery实现表情图添加与发布功能
  6. 修改SpringBoot日志级别
  7. android之几种定时器实现
  8. three.js实现火焰效果
  9. greg名字寓意_Ah Greg Reinacker给我发送了我之前提到的Java报价,实际上是他说1我个人bel...
  10. 安卓手机如何设置静态IP?