use of org.docx4j.wml.Tbl in project docx4j-template by vindell.
the class Docx4J_例子2 method createTableTest.
public void createTableTest(WordprocessingMLPackage wordMLPackage, MainDocumentPart t, ObjectFactory factory) throws Exception {
RPr titleRpr = getRPr(factory, "宋体", "000000", "22", STHint.EAST_ASIA, true, false, false, false);
RPr contentRpr = getRPr(factory, "宋体", "000000", "22", STHint.EAST_ASIA, false, false, false, false);
Tbl table = factory.createTbl();
addBorders(table, "2");
// 百分比
double[] colWidthPercent = new double[] { 15, 20, 20, 20, 25 };
setTableGridCol(wordMLPackage, factory, table, 100, colWidthPercent);
List<String> columnList = new ArrayList<String>();
columnList.add("序号");
columnList.add("姓名信息|姓甚|名谁");
columnList.add("名刺信息|籍贯|营生");
addTableTitleCell(factory, wordMLPackage, table, columnList, titleRpr, JcEnumeration.CENTER, true, "C6D9F1");
for (int i = 0; i < 10; i++) {
Tr contentRow = factory.createTr();
addTableCell(factory, wordMLPackage, contentRow, i + "", contentRpr, JcEnumeration.CENTER, false, null);
addTableCell(factory, wordMLPackage, contentRow, "无名氏", contentRpr, JcEnumeration.CENTER, false, null);
addTableCell(factory, wordMLPackage, contentRow, "佚名", contentRpr, JcEnumeration.CENTER, false, null);
addTableCell(factory, wordMLPackage, contentRow, "武林", contentRpr, JcEnumeration.CENTER, false, null);
addTableCell(factory, wordMLPackage, contentRow, "吟诗赋曲", contentRpr, JcEnumeration.CENTER, false, null);
table.getContent().add(contentRow);
}
setTableAlign(factory, table, JcEnumeration.CENTER);
t.addObject(table);
}
use of org.docx4j.wml.Tbl in project docx4j-template by vindell.
the class Docx4jStyle_S3 method testDocx4jCreateTable.
public void testDocx4jCreateTable() throws Exception {
boolean landscape = false;
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.A4, landscape);
ObjectFactory factory = Context.getWmlObjectFactory();
setPageMargins(wordMLPackage, factory);
String imgFilePath = "f:/saveFile/tmp/2sql日志.jpg";
Tbl table = createTableWithContent(wordMLPackage, factory, imgFilePath);
wordMLPackage.getMainDocumentPart().addObject(table);
wordMLPackage.save(new File("f:/saveFile/temp/sys_" + System.currentTimeMillis() + ".docx"));
}
use of org.docx4j.wml.Tbl in project docx4j-template by vindell.
the class Docx4j_替换模板 method replaceTemplateDocx.
public void replaceTemplateDocx() throws Exception {
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath));
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
HashMap<String, String> staticMap = getStaticData();
// 替换普通变量
documentPart.variableReplace(staticMap);
Document document = (Document) documentPart.getContents();
Body body = document.getBody();
MyTblFinder tblFinder = new MyTblFinder();
new TraversalUtil(body, tblFinder);
// 替换表格模板第三行数据
Tbl firstTbl = tblFinder.getTbls().get(0);
List<Object> trObjList = firstTbl.getContent();
Tr tr = (Tr) trObjList.get(2);
replaceTrTotalData(tr, getTotalData());
int lvlIndex = 3;
// 替换表格模板第四行数据
int lvlTotalSize = 4;
tr = (Tr) trObjList.get(lvlIndex);
List<String[]> lvDataList = getLvDataList(lvlTotalSize);
replaceTrData(firstTbl, tr, lvDataList, lvlIndex);
// 重新获取表格数据
trObjList = firstTbl.getContent();
int sexTotalSize = 2;
// 替换表格模板第五行数据
tr = (Tr) trObjList.get(lvlIndex + lvlTotalSize);
List<String[]> sexDataList = getSexDataList(2);
replaceTrSexData(tr, sexDataList.get(0));
// 替换表格模板第六行数据
tr = (Tr) trObjList.get(4 + lvlTotalSize);
replaceTrSexData(tr, sexDataList.get(1));
// 替换表格模板第七行数据
tr = (Tr) trObjList.get(5 + lvlTotalSize);
int nationTotalSize = 56;
List<String[]> nationDataList = getNationDataList(nationTotalSize);
replaceTrData(firstTbl, tr, nationDataList, lvlIndex + lvlTotalSize + sexTotalSize);
// 合并层次单元格 层次位于第3行
mergeCellsVertically(firstTbl, 0, lvlIndex, lvlIndex + lvlTotalSize - 1);
// 合并民族单元格 层次+性别2行
mergeCellsVertically(firstTbl, 0, lvlIndex + lvlTotalSize + sexTotalSize, lvlIndex + lvlTotalSize + sexTotalSize + nationTotalSize - 1);
// 替换图表数据
String[] chartArr = getChartData();
replacePieChartData(wordMLPackage, chartArr);
// 保存结果
saveWordPackage(wordMLPackage, outputfilepath);
}
use of org.docx4j.wml.Tbl in project docx4j-template by vindell.
the class TableWithBorders method main.
public static void main(String[] args) throws Docx4JException {
wordMLPackage = WordprocessingMLPackage.createPackage();
factory = Context.getWmlObjectFactory();
Tbl table = createTableWithContent();
addBorders(table);
wordMLPackage.getMainDocumentPart().addObject(table);
wordMLPackage.save(new java.io.File("src/main/files/HelloWord5.docx"));
}
use of org.docx4j.wml.Tbl in project docx4j-template by vindell.
the class TableWithBorders method createTableWithContent.
private static Tbl createTableWithContent() {
Tbl table = factory.createTbl();
Tr tableRow = factory.createTr();
addTableCell(tableRow, "Field 1");
addTableCell(tableRow, "Field 2");
table.getContent().add(tableRow);
return table;
}
Aggregations