package com.poi.excel.wordexcel;
import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
/**
* @Author qixing.chen
* @Date 2020/11/19 9:53 上午
*/
public class WordExportController2 {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
FileOutputStream outputStream = new FileOutputStream(new File("/Users/chen/Downloads/testXXXXXXXXXXX.docx"));
//添加标题
XWPFParagraph titleParagraph = document.createParagraph();
//设置段落居中
titleParagraph.setAlignment(ParagraphAlignment.CENTER);
XWPFRun titleParagraphRun = titleParagraph.createRun();
titleParagraphRun.setText("哈哈哈哈");
titleParagraphRun.setColor("000000");
titleParagraphRun.setFontSize(20);
XWPFTable ComTable = document.createTable();
CTTblWidth comTableidth = ComTable.getCTTbl().addNewTblPr().addNewTblW();
comTableidth.setType(STTblWidth.DXA);
comTableidth.setW(BigInteger.valueOf(9072));
//表头标题
List<String> list = new ArrayList<>();
list.add("第一列");
list.add("第二列");
list.add("第三列");
list.add("第四列");
list.add("第五列");
XWPFTableRow rowHead = ComTable.getRow(0);
XWPFParagraph cellParagraph = rowHead.getCell(0).getParagraphs().get(0);
cellParagraph.setAlignment(ParagraphAlignment.CENTER); //设置表头单元格居中
XWPFRun cellParagraphRun = cellParagraph.createRun();
cellParagraphRun.setFontSize(14); //设置表头单元格字号
cellParagraphRun.setFontFamily("仿宋_GB2312");//设置字体
cellParagraphRun.setText(list.get(0));
for (int i = 1; i < list.size(); i++) {
cellParagraph = rowHead.addNewTableCell().getParagraphs().get(0);
cellParagraph.setAlignment(ParagraphAlignment.CENTER); //设置表头单元格居中
cellParagraphRun = cellParagraph.createRun();
cellParagraphRun.setFontSize(14); //设置表头单元格居中
cellParagraphRun.setFontFamily("仿宋_GB2312");//设置字体
cellParagraphRun.setText(list.get(i));
}
//表身body
List<String> listtt = new ArrayList<>();
listtt.add("1");
listtt.add("2");
listtt.add("3");
listtt.add("4");
listtt.add("5");
List<String> listttt = new ArrayList<>();
listttt.add("11");
listttt.add("22");
listttt.add("33");
listttt.add("44");
listttt.add("55");
List<List<String>> listt = new ArrayList<>();
listt.add(listtt);
listt.add(listtt);
listt.add(listttt);
listt.add(listttt);
int rows = listt.size();
for (int i = 0; i < rows; i++) {
XWPFTableRow rowsContent = ComTable.createRow();
System.out.println("00000000000");
for (int j = 0; j < listt.get(i).size(); j++) {
XWPFParagraph cellParagraphC = rowsContent.getCell(j).getParagraphs().get(0);
XWPFRun cellParagraphRunC = cellParagraphC.createRun();
cellParagraphRunC.setFontSize(14); //设置表格内容字号
cellParagraphRunC.setFontFamily("仿宋_GB2312");//设置字体
cellParagraphRunC.setText(listt.get(i).get(j)+""); //单元格段落加载内容
}
}
//表尾
XWPFTableRow rowsFoot = ComTable.createRow();
for (int i = 0; i < list.size(); i++){
if(i == 0){
XWPFParagraph cellParagraphCFoot = rowsFoot.getCell(i).getParagraphs().get(0);
XWPFRun cellParagraphRunCFoot = cellParagraphCFoot.createRun();
cellParagraphRunCFoot.setFontSize(14); //设置表格内容字号
cellParagraphRunCFoot.setFontFamily("仿宋_GB2312");//设置字体
cellParagraphRunCFoot.setText("合计"); //单元格段落加载内容
}else{
XWPFParagraph cellParagraphCFoot = rowsFoot.getCell(i).getParagraphs().get(0);
XWPFRun cellParagraphRunCFoot = cellParagraphCFoot.createRun();
cellParagraphRunCFoot.setFontSize(14); //设置表格内容字号
cellParagraphRunCFoot.setFontFamily("仿宋_GB2312");//设置字体
cellParagraphRunCFoot.setText("all"); //单元格段落加载内容
}
}
document.write(outputStream);
outputStream.close();
System.out.println("create_table document written success.");
}
}
字号‘bai八号’对应磅值du5
字号‘七号’对应磅值5.5
字号‘zhi小dao六zhuan’对应磅值6.5
字号‘六号’shu对应磅值7.5
字号‘小五’对应磅值9
字号‘五号’对应磅值10.5
字号‘小四’对应磅值12
字号‘四号’对应磅值14
字号‘小三’对应磅值15
字号‘三号’对应磅值16
字号‘小二’对应磅值18
字号‘二号’对应磅值22
字号‘小一’对应磅值24
字号‘一号’对应磅值26
字号‘小初’对应磅值36
字号‘初号’对应磅值42