依赖:
<dependency><groupId>com.techCoLtd</groupId><artifactId>aspose-words-16.4.0-jdk16</artifactId><classifier>jdk16</classifier>
</dependency>/*** 删除表格及表格的行* @throws Exception*/
private static void deletedTable() throws Exception {Document doc = new Document("表格路径");Table table = doc.getFirstSection().getBody().getTables().get(0);// 删除整个表的方法table.remove();// 删除某一行 的方法if (table.getRows().getCount() > 1) { // 确保至少有两行才进行删除操作table.getRows().removeAt(0);// 删除第一行}doc.save("D:\\work\\save\\ceshi.docx");
}
/**** 读取表格的内容* @throws Exception*/
public static void readTableTxtByIndex() throws Exception {Document doc = new Document("表格路径");//获取所有的表格NodeCollection tableNodes = doc.getChildNodes(NodeType.TABLE, true);int tableCount = tableNodes.getCount();System.out.println("表格数量:{}"+ tableCount);for (int i = 0; i < tableCount; i++) {Table table = (Table)tableNodes.get(i);//按表格索引 单独写逻辑进行数据的读取 本示例中就1个表格 因此就放1个逻辑进行解析了if(0 == i){//获取表格中的所有行节点RowCollection rows = table.getRows();int rowCount = rows.getCount();System.out.println("共有表格行:{}" + rowCount);//获取每一行的单元格节点for (int j = 0; j < rowCount; j++) {Row row = rows.get(j);CellCollection cells = row.getCells();int cellsCount = cells.getCount();System.out.println("第" + j + "行有" + rowCount + "个单元格{}");for (int k = 0; k < cellsCount; k++) {Cell cell = cells.get(k);String cellText = cell.getText();System.out.println("第" + j + "行 第" + k + "个单元格的文本:{}" + cellText);}}}}
}