工程地址:https://github.com/zheng-chang-wei/word
package com.example.demo1.poi;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.File;
import java.io.FileOutputStream;
public class PoiWord {
public static void main(String[] args) {
XWPFDocument doc = PoiUtil.createDocument();
PoiUtil.addEmptyRow(doc);
PoiUtil.createHeading1(doc, "1 样品简介");
PoiUtil.createHeading2(doc, "1.1 概述");
PoiUtil.createBody(doc, "asdfasdfsf啊但是发射点VS大哥飞洒地方撒旦飞洒地方嘎嘎发打撒大厦是个大帅哥夫人特温柔各方");
PoiUtil.addImage(doc, "picture0.png", "图 1.1-1 ");
PoiUtil.createHeading2(doc, "1.2 主要技术参数");
PoiUtil.createBody(doc, "PICS 表格中用到的缩略语:");
PoiUtil.createBody(doc, "m : 要求强制支持");
PoiUtil.createBody(doc, "n/a : 此项不可用");
PoiUtil.createBody(doc, "o : 可选支持");
PoiUtil.createBody(doc, "c : 此项是有条件的");
PoiUtil.createBody(doc, "d : 默认");
PoiUtil.createBody(doc, "Y : 是");
PoiUtil.createBody(doc, "N : 否");
PoiUtil.createTable(doc, "表1.2-1 PISC标识");
FileOutputStream out = null;
try {
out = new FileOutputStream(new File("e:\\word.doc"));
doc.write(out);
out.close();
PoiUtil.createToc("e:\\word.doc");
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.example.demo1.poi;
import com.example.demo1.jacob.WordManager;
import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlToken;
import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps;
import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D;
import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
import org.springframework.util.StringUtils;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.math.BigInteger;
public class PoiUtil {
public static int headingCount = 0;
public static int totalRows = 39;
public static XWPFDocument createDocument() {
XWPFDocument doc = new XWPFDocument();
//添加标题
addCustomHeadingStyle(doc, "Heading1", 1);
addCustomHeadingStyle(doc, "Heading2", 2);
return doc;
}
public static void createTitle(XWPFDocument doc, String title) {
XWPFParagraph titleParagraph = doc.createParagraph();
//设置段落居中
titleParagraph.setAlignment(ParagraphAlignment.CENTER);
XWPFRun titleParagraphRun = titlePa