riku
2021-09-24 4f1b7973c53b45f57e451191bfd5a3d2136a004c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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
}