本文参考地址:https://blog.csdn.net/wangxiaoyingWXY/article/details/95377533

本文参考地址:https://blog.csdn.net/u014427811/article/details/100771314#comments

感谢大佬们的详解

1、目前遇到的问题是当修改文档内的图表,导出的文档微软office打不开,wps却可以。我得是因为添加图例出问题了所以打不开。

建议定位出问题的地方,比如我定位到更换图表打不开之后定位到了具体是图例出了问题。记录一下也给大家一个参考。

------------------------------------------------------------追加解决方式------------------------------------------------------------------------------

定位到是刷新内置excel有问题,我直接注释掉了。图表能显示 word也可以用微软打开了。。。

之后精确定位是增加柱状图图例出了问题。但是据说poi4没有word对柱状图图例的操作,最后解决办法只能预先写好图例。

另外刷新柱状图页面数据建议下面这个

/*** 刷新柱状图数据方法** @param typeChart* @param serList* @param dataList* @param fldNameArr* @param position* @return*/
public  static boolean refreshBarStrGraphContent(Object typeChart,List<?> serList, List<Map<String, String>> dataList, List<String> fldNameArr, int position) {boolean result = true;//更新数据区域for (int i = 0; i < serList.size(); i++) {//CTSerTx tx=null;CTAxDataSource cat = null;CTNumDataSource val = null;CTBarSer ser = ((CTBarChart) typeChart).getSerArray(i);//tx= ser.getTx();// Category Axis Datacat = ser.getCat();// 获取图表的值val = ser.getVal();// strData.setCTStrData strData = cat.getStrRef().getStrCache();CTNumData numData = val.getNumRef().getNumCache();strData.setPtArray((CTStrVal[]) null); // unset old axis textnumData.setPtArray((CTNumVal[]) null); // unset old values// set modellong idx = 0;for (int j = 0; j < dataList.size(); j++) {//判断获取的值是否为空String value = "0";if (new BigDecimal(dataList.get(j).get(fldNameArr.get(i + position))) != null) {value = new BigDecimal(dataList.get(j).get(fldNameArr.get(i + position))).toString();}if (!"0".equals(value)) {CTNumVal numVal = numData.addNewPt();//序列值numVal.setIdx(idx);numVal.setV(value);}CTStrVal sVal = strData.addNewPt();//序列名称sVal.setIdx(idx);sVal.setV(dataList.get(j).get(fldNameArr.get(0)));idx++;}numData.getPtCount().setVal(idx);strData.getPtCount().setVal(idx);//赋值横坐标数据区域String axisDataRange = new CellRangeAddress(1, dataList.size(), 0, 0).formatAsString("Sheet1", true);cat.getStrRef().setF(axisDataRange);//数据区域String numDataRange = new CellRangeAddress(1, dataList.size(), i + position, i + position).formatAsString("Sheet1", true);val.getNumRef().setF(numDataRange);}return result;
}

2、之前遇到有的字段可以替换有的不行

解决方式是每个需要替换的字段及标识符号需要重头到尾手动写出来,不能复制粘贴!!!!主要是因为里面字段识别符号和你需要替换的单词分开了。最新思路是自己将替换自己识别字段组合起来,这样就比较正常了。不像原版替换比较魔性没有规律。

关于文档内容无法替换建议参考

https://blog.csdn.net/chengui1990/article/details/100703359

poi导出word文章参考及word打不开、word替换不成功相关推荐

  1. java poi导出word 多表格 页眉 非xml

    poi可以操作excel表格和word文档,但是网上找的poi表格相关大多是操作excel表格,很少有word的复杂表格. 加上最近项目上也遇到了要使用java导出word多表格的问题. 开始网上找的 ...

  2. SpringBoot Poi导出word,浏览器下载

    文章目录 SpringBoot Poi导出word,浏览器下载 1.引依赖: 2.写代码(生成本地word): 3.返回给浏览器下载 1.如何返回给浏览器让它下载 4.解决方案 5.为什么没使用eas ...

  3. poi导出word2003(动态数据,不用模板,且生成word能再次导入)

    一.场景需求: 有个项目需要将某个题库里面的题目导出word2003,之前框架里面没有导出word2003的工具类.倒是见过导出txt,excel的,但是word的没有. 二.技术选型 网上找了一通, ...

  4. JAVA使用POI导出Word文档和Excel文档

    导包 注意:POI包的版本,不同版本poi导出API会有差别!!!! <dependency><groupId>org.apache.poi</groupId>&l ...

  5. poi导出word模板

    **poi导出word模板段落处理 流程: 1:读取文档:` //获取docx解析对象 XWPFDocument document = new XWPFDocument(POIXMLDocument. ...

  6. poi word插入图片_豌豆BI工具看板Word导出技术详解

    Word是最常见的文档编辑工具,当数据分析完成之后,将分析数据的图表在Word中展现,进行汇报或者存档是非常具有现实意义.在此背景之下,全新的Word导出,在豌豆BI 2.1.2 中与大家见面了. 本 ...

  7. POI导出Word插入复选框

    POI功能比较强大,但是有些不常用功能比如插入特殊符号,不知道API怎么调用 Word里要插入复选框,首先想到的是POI有没有提供现成的API,搜了一番,貌似都说不直接支持 http://stacko ...

  8. POI导出word文件中表格合并方法(行合并,列合并)

    项目中遇到记录一下 POI导出word文件中表格合并方法(行合并,列合并) . // word表格跨列合并单元格//row 指定行.fromCell 开始列数.toCell 结束列数.public v ...

  9. POI导出word表格 office打开没问题 wps打开列有问题

    POI导出word表格 office打开没问题 wps打开列有问题 模板样式 导出文档office打开 wps打开文件 1.给表格设置宽,指定宽度 2.将布局固定 3.动态设置单元格的宽度 4.重点设 ...

最新文章

  1. SP5971 LCMSUM - LCM Sum(莫比乌斯反演 ,推柿子,经典)
  2. 服务器500_BTA齐聚新基建——2030年百度智能云服务器数量超500万台
  3. java list用法 包,java list用法示例详解
  4. 此情应是长相守 你若无心我便休
  5. 数据库文档生成工具V1.0
  6. linux r包默认安装位置,R-Language(R语言或称r-project)的安装
  7. 跨境电商独立站最大的难题是没有免费的自然流量?
  8. es 全量同步mysql_MySQL用得好好的,为什么要转ES?
  9. 解决3Dmax材质编辑器重影问题
  10. Linux服务器集群系统(一)
  11. matlab+nbiot,基于STM32L4+BC28(全网通) NBIOT开发板原理图教程源码等开源分享
  12. 制作指定比例尺的专题地图
  13. 心情顿时很失落的感觉!
  14. MessageBox in wpf
  15. django报错ERRORS:?: (admin.E402) ‘django.contrib.auth.context_processors.auth‘
  16. rabbitmq reply-text=PRECONDITION_FAILED - unknown delivery tag 1
  17. 平台的核心交互与基础角色——互联网平台建设系列...
  18. 条形码打印 EPL命令解释
  19. 密集环境下物体吸取可供性检测及其自监督学习方法
  20. python包和模块关系_Python包和模块的分发详细介绍

热门文章

  1. 思科IPSec协议解析
  2. 1)warning LNK4233
  3. 【生活日志】从今天开始改善我的生活
  4. CAD二次开发学习笔记五(在ObjectARX中使用MFC)
  5. 使用马哈鱼SQLFLow 1 分钟获取复杂 SQL 语句的血缘关系
  6. html网页放大时文字不换行_HTML基础知识之二(小白)
  7. 没有无线路由器如何共享无线Wifi
  8. linux的保存命令执行结果,linux下把命令执行的结果输出
  9. Python之re模块讲解及其案例举例
  10. 10.21软文推广页面