POI是Apache组织的一套关于文档操作的api,可以实现word文档和excel文档的读取和写出的功能。
所需jar包点击下载
//生成word文档
public class WordStudy {
@Test
public void test1() throws FileNotFoundException, IOException{
//创建文档对象
XWPFDocument doComment=new XWPFDocument();
//创建段落
XWPFParagraph gParagraph=doComment.createParagraph();
//设置文本的对齐方式
gParagraph.setAlignment(ParagraphAlignment.CENTER);
//创建文本对象
XWPFRun frun=gParagraph.createRun();
frun.setBold(true);//是否加粗
frun.setColor("1AA160");//设置颜色
frun.setFontSize(30);//设置字体大小
frun.setText("我正在看Word文档的生成");
//创建表格
//参数说明:1、行数2、列数
XWPFTable table=doComment.createTable(10,1);
//设置表格属性
CTTbl ttbl=table.getCTTbl();
CTTblPr tp=ttbl.addNewTblPr();
//设置表格宽度
CTTblWidth cw=tp.addNewTblW();
cw.setW(BigInteger.valueOf(8000));
cw.setType(STTblWidth.DXA);//设置为固定。默认为AUTO
XWPFTableRow tr1=table.getRow(0);
XWPFTableCell tc1=tr1.getCell(0);
tc1.setColor("4D8BF4");
tc1.setVerticalAlignment(XWPFVertAlign.CENTER);//竖直对齐方式
//表格的列中嵌套段落
XWPFParagraph gp=tc1.addParagraph();
XWPFRun fr1=gp.createRun();
fr1.setBold(true);
fr1.setDoubleStrikethrough(true);
fr1.setFontSize(25);
fr1.setColor("D14825");
fr1.setText("名次");
// CTTc ct1=tc1.getCTTc();
// CTTcPr cp1=ct1.addNewTcPr();
// cp1.addNewVMerge().setVal(STMerge.CONTINUE);//合并表格的列
for(int i=1;i<table.getRows().size();i++){
XWPFTableCell c=table.getRow(i).getCell(0);
c.setText("第"+i+"名");
}
//写出,生成word文件
doComment.write(new FileOutputStream("first.doc"));
doComment.close();
System.err.println("OK");
}
}
效果: