apache poi word表格样式(表格固定间隔,表格字体颜色)、段落样式(段落字体颜色,格式)

Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”

Apache POI所用到的依赖如下:

  <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
        <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>

上面是Apache POI 的简介,下面我们来编写怎么用其生成word文档吧
首先,新建一个XWPFDocument

XWPFDocument document = null;

然后,我们就可以在这基础上新建段落了

  • Apache poi word 段落
       paragraph.setFontAlignment(10);
        XWPFRun run = paragraph.createRun();
        run.setBold(true); //字体变成粗体
        run.setText(objectName);//填充内容
        paragraph.setAlignment(ParagraphAlignment.CENTER);//居中
  • Apache poi word 表格
 XWPFTable table = document.createTable();
        table.setTableAlignment(TableRowAlign.CENTER);
        table.setWidth("100%");//可为100%或者2000这样的值,前者是百分比,后者是固定的
        CTTblPr tblPr =  table.getCTTbl().getTblPr();
        CTTblLayoutType t = tblPr.isSetTblLayout()?tblPr.getTblLayout():tblPr.addNewTblLayout();
        t.setType(STTblLayoutType.FIXED);

这个上面是新建表格的代码,其中setTableAlignment是设置表格内容居中的,setWidth是设置表格宽度的,而下面的 t.setType(STTblLayoutType.FIXED);是使得表格的宽度变得固定的,不再因为内容而变宽,如果不设置,你会发现下面的设置单列宽度的时候,单列宽度会不生效,会因为单元格里面有太多内容而超出宽度设置。

  • 表格字体颜色设置(段落也一样)
XWPFParagraph cellPara =tableRow.getCell(cellIndex).getParagraphArray(0);
        XWPFRun xWPFRun= cellPara.createRun();

        xWPFRun.setColor("ff0000");
        cellPara.setAlignment(ParagraphAlignment.CENTER);

上面相当于在单元格里面放段落了,所以这样也适合段落。

你可能感兴趣的:(Apache,POI,word,apache,java)