package cn.flightfeather.supervision.docx4j.demo
|
|
import org.docx4j.jaxb.Context
|
import org.docx4j.openpackaging.packages.WordprocessingMLPackage
|
import org.docx4j.wml.*
|
import java.io.File
|
import java.math.BigInteger
|
|
|
private val factore: ObjectFactory = Context.getWmlObjectFactory()
|
|
private val wordprocessingMLPackage = WordprocessingMLPackage.createPackage()
|
|
fun main(args: Array<String>) {
|
val wordMLpackage = wordprocessingMLPackage
|
val table = creatTableWithContent()
|
|
addBorders(table)
|
|
wordMLpackage.mainDocumentPart.addObject(table)
|
wordMLpackage.mainDocumentPart.addObject(table)
|
wordMLpackage.save(File("table04.docx"))
|
}
|
|
fun addTableCell(tableRow: Tr, content: String) {
|
val tableCell = factore.createTc()
|
tableCell.content.add(wordprocessingMLPackage.mainDocumentPart.createParagraphOfText(content))
|
tableRow.content.add(tableCell)
|
}
|
|
fun creatTableWithContent(): Tbl {
|
val table = factore.createTbl()
|
val tableRow = factore.createTr()
|
addTableCell(tableRow, "现场1")
|
addTableCell(tableRow, "现场2")
|
val tableRow2 = factore.createTr()
|
addTableCell(tableRow2, "问题")
|
addTableCell(tableRow2, "描述")
|
addTableCell(tableRow2, "描述")
|
table.content.add(tableRow)
|
table.content.add(tableRow2)
|
return table
|
}
|
|
fun addBorders(table: Tbl) {
|
table.tblPr = TblPr()
|
|
val border = CTBorder()
|
border.color = "auto"
|
border.sz = BigInteger("4")
|
border.space = BigInteger("0")
|
border.`val` = STBorder.SINGLE
|
|
val borders = TblBorders()
|
borders.bottom = border
|
borders.left = border
|
borders.top = border
|
borders.right = border
|
borders.insideH = border
|
borders.insideV = border
|
|
table.tblPr.tblBorders = borders
|
}
|