Word生成工具 - Word07Writer
 # Word生成工具 - Word07Writer
 介绍
Word07Writer 是 Hutool 针对 Word 文件(主要是 .docx 格式)生成进行封装的工具类。通过该工具,可以非常方便地生成简单的 Word 文档。Word07Writer 通过分段写出、设置字体等功能实现 Word 文件的创建,适用于生成带有标题和正文的简单文档。
# 1. 创建并写入 Word 文档
Word07Writer 提供了简洁的 API 用于向文档中添加段落、设置字体和样式,并将内容写入到文件中。
示例代码
import cn.hutool.poi.word.Word07Writer;
import cn.hutool.core.io.FileUtil;
import java.awt.Font;
public class WordWriterExample {
    public static void main(String[] args) {
        // 创建 Word07Writer 对象,用于生成 Word 文档
        Word07Writer writer = new Word07Writer();
        // 添加段落(标题)
        // 参数说明:
        // 1. Font 对象:设置字体、样式、字号等
        // 2. 文本内容:可以是多个字符串,依次添加到同一段落中
        writer.addText(new Font("方正小标宋简体", Font.PLAIN, 22), "我是第一部分", "我是第二部分");
        // 添加段落(正文)
        writer.addText(new Font("宋体", Font.PLAIN, 16), "我是正文第一部分", "我是正文第二部分");
        // 将生成的 Word 文档写出到指定文件路径
        // 参数说明:
        // 1. File 对象或文件路径:指定要保存的文件位置
        writer.flush(FileUtil.file("e:/wordWrite.docx"));
        // 关闭 Word07Writer,释放资源
        writer.close();
    }
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
代码解析
创建
Word07Writer对象:Word07Writer writer = new Word07Writer();用于生成 Word 文档。Word07Writer是核心对象,负责管理段落的添加、格式设置和最终的写出操作。添加段落:
writer.addText(Font font, String... texts)方法用于向文档中添加段落。可以指定多个文本,这些文本将会依次添加到同一段落中。可以通过Font对象自定义字体样式、字号等。写出文件:
writer.flush(File file)方法用于将生成的 Word 内容保存到指定文件路径。建议使用FileUtil.file(String path)方法生成File对象,确保路径合法性。关闭资源:
writer.close()在完成写出操作后,必须关闭Word07Writer,以释放资源。
实际应用场景
- 报告生成:在生成简单的文档报告时,可以通过该工具快速输出标准格式的文档,例如项目总结、工作报告等。
 - 模板填充:适合在固定模板中填充数据,如合同生成、通知书制作等。
 
# 2. 自定义段落和样式
Word07Writer 支持自定义每个段落的字体、颜色、对齐方式等,能够满足多样化的排版需求。
示例代码:自定义段落样式
import cn.hutool.poi.word.Word07Writer;
import cn.hutool.core.io.FileUtil;
import java.awt.Color;
import java.awt.Font;
public class WordWriterStyleExample {
    public static void main(String[] args) {
        // 创建 Word07Writer 对象
        Word07Writer writer = new Word07Writer();
        // 添加标题段落,并设置字体样式
        Font titleFont = new Font("黑体", Font.BOLD, 24);
        writer.addText(titleFont, "文档标题");
        // 添加正文段落,并设置字体、颜色等
        Font contentFont = new Font("宋体", Font.PLAIN, 16);
        writer.addText(contentFont, "这是正文的第一段,内容包括多行文本。");
        writer.addText(contentFont, "这是正文的第二段,继续补充文档内容。");
        // 设置段落对齐方式(左对齐、居中、右对齐)
        writer.setAlign("center");
        // 写出到文件
        writer.flush(FileUtil.file("e:/customStyleWord.docx"));
        writer.close();
    }
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 3. 合并单元格、设置表格
除了基本的文本段落操作,Word07Writer 还支持一些高级操作,例如表格生成、单元格合并等。
示例代码:添加表格并合并单元格
import cn.hutool.poi.word.Word07Writer;
import cn.hutool.core.io.FileUtil;
public class WordWriterTableExample {
    public static void main(String[] args) {
        Word07Writer writer = new Word07Writer();
        // 添加表格
        writer.addTable(new String[][]{
            {"姓名", "年龄", "性别"},
            {"张三", "25", "男"},
            {"李四", "30", "女"}
        });
        // 合并第一行的单元格
        writer.mergeCellHorizontally(0, 0, 2);
        writer.flush(FileUtil.file("e:/tableWord.docx"));
        writer.close();
    }
}
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 4. 注意事项
- 字体配置:
Font对象配置时需要指定字体名称、样式和字号。 - 资源管理:每次使用 
Word07Writer完成文档生成后,务必调用close()方法关闭资源,以避免内存泄漏。 - 兼容性:
Word07Writer主要针对.docx格式文件进行操作,若需兼容.doc格式,可能需要其他库的支持。 
# 5. 其他功能
- 段落对齐:可以设置段落的对齐方式,包括左对齐、居中、右对齐等。
 - 表格生成:支持简单的表格生成及单元格合并操作,适合制作数据报表。
 - 样式自定义:灵活设置字体、颜色等,满足多样化的排版需求。
 
编辑此页  (opens new window)
  上次更新: 2024/12/28, 18:32:08