使用Java和Apache POI复制Word书签内容到新文件
以下是使用Apache POI的Java代码来实现你的需求:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// 打开输入文件
FileInputStream input01 = new FileInputStream('input01.docx');
FileInputStream input02 = new FileInputStream('input02.docx');
FileInputStream input03 = new FileInputStream('input03.docx');
// 创建输入文档对象
XWPFDocument doc01 = new XWPFDocument(input01);
XWPFDocument doc02 = new XWPFDocument(input02);
XWPFDocument doc03 = new XWPFDocument(input03);
// 获取输入文档中的书签
XWPFBookmark bookmark01 = doc01.getBookmarkById('应变计书签');
XWPFBookmark bookmark02 = doc02.getBookmarkById('位移计书签');
// 获取书签的内容
String content01 = bookmark01.getParagraph().getText();
String content02 = bookmark02.getParagraph().getText();
// 获取输出文档中的书签
XWPFBookmark bookmark03 = doc03.getBookmarkById('应变计书签');
XWPFBookmark bookmark04 = doc03.getBookmarkById('位移计书签');
// 将内容复制到输出文档中的书签位置
XWPFRun run01 = bookmark03.getParagraph().createRun();
run01.setText(content01);
XWPFRun run02 = bookmark04.getParagraph().createRun();
run02.setText(content02);
// 关闭输入文件
input01.close();
input02.close();
input03.close();
// 保存输出文档
FileOutputStream output = new FileOutputStream('input04.docx');
doc03.write(output);
output.close();
System.out.println('操作成功!');
} catch (IOException e) {
e.printStackTrace();
}
}
}
请确保将'input01.docx'、'input02.docx'和'input03.docx'文件放在与Java代码相同的目录下,并将输出文件'input04.docx'保存在相同的目录下。
原文地址: https://www.cveoy.top/t/topic/fLYg 著作权归作者所有。请勿转载和采集!