最近做项目时,需要利用POI技术,在word文档中写表格,但是网上几乎搜索不到相关资料,经过2天的研究,终于实现了功能。
用到的POI对象是:XWPFDocument
读取模板文件获取所有的table:
OPCPackage opcPackage = POIXMLDocument.openPackage(wordFilePath);
XWPFDocument doc = new XWPFDocument(opcPackage);
List<XWPFTable> list = doc.getTables();
对表格增加新的一行,并设置数据:
XWPFTableRow crtRow = tb.createRow();
List<XWPFTableCell> cells = crtRow.getTableCells();
for (int j = 0; j < cells.size(); j++) {
cells.get(j).removeParagraph(0);
cells.get(j).setText(map.get(j));
// cells.get(j).setVerticalAlignment(XWPFVertAlign.BOTH);
LOGGER.debug("insert into table value:" + map.get(j));
}
如需删除行:
tb.getCTTbl().remove