记一次apache POI存储word乱码问题

首先放上版本号:

		<dependency>
		    <groupId>org.apache.poi</groupId>
		    <artifactId>poi-ooxml</artifactId>
		    <version>3.17</version>
		</dependency>
		<dependency>
		    <groupId>org.apache.poi</groupId>
		    <artifactId>poi</artifactId>
		    <version>3.17</version>
		</dependency>
		<dependency>
		    <groupId>org.apache.poi</groupId>
		    <artifactId>poi-scratchpad</artifactId>
		    <version>3.17</version>
		</dependency>

乱码原因1:使用了WPS编辑并存储了word源模板!

解决方法1:不要用WPS新建、编辑、保存、修改任何doc、docx文档,否则就乱码!

乱码原因2:为了图省事,直接使用Range.replaceText()

解决方法2:正确姿势:需要先删除当前run,然后再自己手动插入一个新的run。

代码链接:http://itindex.net/detail/49172-poi-word-docx

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Apache POI 是一个用于操作 Microsoft Office 文档的 Java 库。要使用 Apache POI 生成 Word 文档,可以按照以下步骤进行操作: 1. 添加 Apache POI 依赖项:在项目的构建文件(如 Maven 的 pom.xml)中添加 Apache POI 的依赖项。例如,对于最新版本的 Apache POI,可以添加以下依赖项: ```xml <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> </dependencies> ``` 2. 创建 Word 文档对象:使用 Apache POI 的 XWPFDocument 类创建一个新的 Word 文档对象。 ```java XWPFDocument document = new XWPFDocument(); ``` 3. 添加段落和文本内容:使用 XWPFDocument 对象的 createParagraph() 方法创建段落对象,然后使用段落对象的 createRun() 方法创建文本运行对象,并设置文本内容。 ```java XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText("Hello, World!"); ``` 4. 格式化文本内容:可以使用 XWPFRun 对象的方法来设置文本样式,如字体、字号、颜色等。 ```java run.setFontSize(12); run.setFontFamily("Arial"); run.setColor("FF0000"); // 红色 ``` 5. 添加表格:使用 XWPFDocument 对象的 createTable() 方法创建表格对象,然后可以使用表格对象的方法来添加行和单元格,并设置内容。 ```java XWPFTable table = document.createTable(); XWPFTableRow row = table.getRow(0); row.getCell(0).setText("Cell 1"); row.createCell().setText("Cell 2"); ``` 6. 保存文档:使用 XWPFDocument 对象的 write() 方法将文档保存到文件或输出流中。 ```java FileOutputStream out = new FileOutputStream("output.docx"); document.write(out); out.close(); ``` 这只是 Apache POI 生成 Word 文档的基本使用方法,还有更多高级的功能和选项可以探索。可以参考 Apache POI 的官方文档和示例代码来获得更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值