Reorder Rows of a Table
Posted: Wed Jan 02, 2013 6:25 pm
Is it possible, using docx4j, to re-order the rows of a certain table in a DOCX? If yes, then can you please hint over it?
forums
https://www.docx4java.org/forums/
https://www.docx4java.org/forums/docx-java-f6/reorder-rows-of-a-table-t1296.html
public class TableOrder {
private static WordprocessingMLPackage wordMLPackage;
private static ObjectFactory factory;
public static void main (String args[]) throws Exception {
String tableDOCXFilePath = "C:\\TableOrder\\table.docx";
WordprocessingMLPackage tableDOCX = DOCXHelper.getInput(tableDOCXFilePath);
List<Object> tableList = DOCXHelper.getAllElementFromObject(tableDOCX.getMainDocumentPart(), Tbl.class);
Tbl table = (Tbl)tableList.get(0);
List<Object> rowList = DOCXHelper.getAllElementFromObject(table, Tr.class);
wordMLPackage = WordprocessingMLPackage.createPackage();
factory = Context.getWmlObjectFactory();
Tbl newTable = factory.createTbl();
newTable.getContent().add(rowList.get(3));
newTable.getContent().add(rowList.get(1));
newTable.getContent().add(rowList.get(2));
newTable.getContent().add(rowList.get(0));
wordMLPackage.getMainDocumentPart().addObject(newTable);
wordMLPackage.save(new java.io.File("C:\\TableOrder\\tableNew.docx"));
}
}