使用Apache POI生成Word文档失败求助
问题:生成Word文档失败,提示缺少源码/Javadoc关联
代码示例
package docx; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.apache.poi.xwpf.usermodel.XWPFDocument; public class Letsgo { public static void main(String[] args) throws FileNotFoundException, IOException { XWPFDocument document = new XWPFDocument(); try(OutputStream fileOut = new FileOutputStream("Javatpoint.docx")) { document.write(fileOut); System.out.println("File created"); }catch(Exception e) { System.out.println(e.getMessage()); } } }
(注:原代码中导入的HSSFWorkbook和Workbook未使用,已删除)
问题现象
运行上述代码尝试生成Word文档时失败,IDE提示:'This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.'
解决方案
- 核心排查依赖完整性:
这个提示本质是IDE找不到Apache POI的源码/Javadoc,但代码运行失败的根源是POI依赖未正确引入。XWPFDocument属于POI-OOXML模块,必须确保引入该模块的完整依赖:- 若用Maven,添加稳定版本的依赖:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.3</version> </dependency> - 若手动导jar,需下载
poi-ooxml及配套依赖jar(如poi、commons-codec、xmlbeans等),确保所有jar版本一致。
- 若用Maven,添加稳定版本的依赖:
- 解决IDE提示问题:
在IDE中找到POI依赖包,右键选择「Attach Sources」,从仓库下载或手动导入源码包;同理「Attach Javadoc」关联对应文档包,消除提示。 - 检查文件写入权限:
避免将文件写入系统保护目录(如C盘根目录),可指定明确的可写入路径,比如"D:/Javatpoint.docx"。
内容的提问来源于stack exchange,提问作者newbieprogammer
相关产品推荐
相关产品推荐

