栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 根据word模板导出word文档 XWPFDocument 对象为null

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 根据word模板导出word文档 XWPFDocument 对象为null

项目场景:

提示:这里简述项目相关背景:

利用word模板导出word文档


问题描述

解析docx模板并获取Document对象时,documet对象为null.

//利用file对象打开word模板
File f=new File("C:\Users\29595\Desktop\testReport_template2.docx");
InputStream fr=new FileInputStream(f);
//解析docx模板并获取Document对象
XWPFDocument document = new XWPFDocument(fr)


# 解决方案:
查看模板对象是否获取
  > 解决方法一:System.out.println(fr.available());如果输出一串数字,是读取的模板的字节数,表明模板对象已经获取(不用怀疑了,只要输出数字就一定读取到了,模板路径也是存在)
如果模板没有获取,查看自己的路径中是否存在模板
  >如果路径正确,但是没有获取到模板,将模板.doc改为.docx

确定模板对象获取到了, 但是在执行这个语句时  XWPFDocument document = new XWPFDocument(fr); document对象为null
  >原因poi jar包冲突
  >解决:将以下代码粘贴上去运行 根据输出的路径找jar包,如果里面有两个jar包,将输出的jar 包删除
  ClassLoader classloader =org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
URL res = classloader.getResource( "org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
String path = res.getPath();
System.out.println("poi的jar包的路径 " + path);

## 总结:
之前一直以为是模板路径的问题,疯狂找原因,怎么也没想到是jar包的原因,这个错误真的是让我找了四五天,希望对你们有帮助


				

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号