本文記錄了,在word表格中插入新行的幾種方法。直接上代碼說明
table.addNewRowBetween 沒實現,官網文檔也說明,只有函數名,但沒具體實現,但很多文章還介紹如何使用這個函數,真是害人
table.insertNewTableRow 這個可以,但是要創建 cell,否則不顯示數據
table.addRow() 在表格最后加一行 ,不適用於復雜表格
table.addRow(XWPFTableRow row, int pos) 沒試過,你可以試試。
table.createRow() 在表格最后加行,不適用於復雜表格
1 /** 2 * 為表格插入數據,行數不夠添加新行 3 * 4 * @param table 需要插入數據的表格 5 * @param tableList 插入數據集合 6 */ 7 public static void insertTable(XWPFTable table, List<String[]> tableList) { 8 //table.addNewRowBetween 沒實現,官網文檔也說明,只有函數名,但沒具體實現,但很多文章還介紹如何使用這個函數,真是害人 9 //table.insertNewTableRow 本文用這個可以,但是要創建 cell,否則不顯示數據 10 //table.addRow() 在表格最后加一行 11 // table.addRow(XWPFTableRow row, int pos) 沒試過,你可以試試。 12 //table.createRow() 在表格最后一加行 13 14 for (int i = 0; i < tableList.size(); i++) {//遍歷要添加的數據的list 15 XWPFTableRow newRow = table.insertNewTableRow(i+1);//為表格添加行 16 String[] strings = tableList.get(i);//獲取list中的字符串數組 17 for (int j = 0; j < strings.length; j++) {//遍歷list中的字符串數組 18 String strings1 = strings[j]; 19 newRow.createCell();//在新增的行上面創建cell 20 newRow.getCell(j).setText(strings1);//給每個cell賦值。 21 22 } 23 }
下面是運行結果,我在表頭和下面內容之間插入8條數據。。一般文檔只是介紹在表格最后增數據明顯不符合我的需求: