如何使用poi在word表格中插入行的4种方法

本文记录了,在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条数据。。一般文档只是介绍在表格最后增数据明显不符合我的需求:

猜你喜欢

转载自www.cnblogs.com/easyyjb/p/12200266.html