java aspose 插入表格行、添加表格行
首先定义一个需要的测试数据
for (int i = 0; i < 100; i ++){
AircraftMaterialsEntity aircraftMaterialsEntity = new AircraftMaterialsEntity();
aircraftMaterialsEntity.setId(i);
aircraftMaterialsEntity.setIssuereportno(String.valueOf(i));
aircraftMaterialsEntity.setQtyorunit(String.valueOf(i));
aircraftMaterialsEntity.setBatchno(String.valueOf(i));
aircraftMaterialsEntity.setSerialno(String.valueOf(i));
aircraftMaterialsEntity.setPartno(String.valueOf(i));
aircraftMaterialsEntity.setDescription(String.valueOf(i));
list.add(aircraftMaterialsEntity);
}
下面才是正题
-
首先拿到所有的表格
-
找到你想要的表格,我用的是最后一个表格
-
循环放值,如果只是一行就不用循环了,我相信代码大家还是能看懂能修改的
-
createRow是方法,提出的公共的,完整代码放在下方
-
table1.getRows().insert(0,row); 这个是插入
“0” 的位置是你想要在哪插入,从0开始
“row”是上面返回的值
效果图:
为什么是倒序,因为是一行一行的插入的,每次插入的都是在最上面
- table1.getRows().add(row) ; 这个是在所选表的末尾添加行
效果图:
这个就没什么疑问了吧
下面附上完整代码
Document doc = new Document(Paths.WORDTEMPLATEPATH + "9999999999999.docx");
DocumentBuilder builder = new DocumentBuilder(doc);
//拿到所有表格
NodeCollection allTables = doc.getChildNodes(NodeType.TABLE, true);
// 拿到最后一个表格
Table table1 = (Table) allTables.get(allTables.getCount()-1);
for (AircraftMaterialsEntity aircraftMaterialsEntity : list){
//创建一行
Row row = CreateRow(1, aircraftMaterialsEntity, doc);
//将此行插入第一行的上方
table1.getRows().insert(0,row);
//添加一行
table1.getRows().add(row);
}
方法代码:
static Row CreateRow(int columnCount,AircraftMaterialsEntity aircraftMaterialsEntity,Document doc)
{
Row row = new Row(doc);
for (int i = 0; i < columnCount; i++)
{
Cell cell = CreateCell(String.valueOf(aircraftMaterialsEntity.getId()), doc);
row.getCells().add(cell);
Cell cell = CreateCell(aircraftMaterialsEntity.getIssuereportno(), doc);
row.getCells().add(cell);
Cell cell = CreateCell(aircraftMaterialsEntity.getQtyorunit(), doc);
row.getCells().add(cell);
Cell cell = CreateCell(aircraftMaterialsEntity.getBatchno(), doc);
row.getCells().add(cell);
Cell cell = CreateCell(aircraftMaterialsEntity.getSerialno(), doc);
row.getCells().add(cell);
Cell cell = CreateCell(aircraftMaterialsEntity.getPartno(), doc);
row.getCells().add(cell);
Cell cell = CreateCell(aircraftMaterialsEntity.getDescription(), doc);
row.getCells().add(cell);
}
return row;
}
此处调用了“格”的方法:
static Cell CreateCell(String value,Document doc)
{
Cell cell = new Cell(doc);
Paragraph p = new Paragraph(doc);
p.appendChild(new Run(doc,value));
cell.appendChild(p);
return cell;
}
转载请注明出处:https://blog.youkuaiyun.com/omnipotent_wang/article/details/108095556