关于用poi依赖导出ppt,在ppt创建表格的问题

关于用poi依赖导出ppt,在ppt创建表格的问题
通过 XSLFTable table = slide.createTable(6,6);创建一个6行6列的表格
然后通过循环获取表格每行的每个单元格,插入数据
XSLFTextParagraph textParagraph = cells.get(j).addNewTextParagraph();
XSLFTextRun textRun = textParagraph.addNewTextRun();
textRun.setText("序号");

img


插入数据后,例如序号这个单元格上面多了一行空白的,如何去掉呢?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    由于问题描述比较简略,无法准确了解具体的情况,下面是针对给出的参考资料提供的解决方案:

    针对序号单元格上面出现空白行的情况,可以通过PPTUtil工具中提供的方法 XSLFTableCell.setBorderWidth 来设置单元格的边框宽度为0,从而去掉上面的空白行。具体方法如下:

    pptUtil.setCellBorderWidth(tableCell, BorderEdge.top, 0);
    

    其中,tableCell是需要去掉上面空白行的单元格对象。

    完整代码示例:

    @Test
    public void testAdjustTable() {
        // 读取 ppt
        PPTUtil pptUtil = new PPTUtil(filePath);
    
        // 获取需要操作的幻灯片和表格
        XSLFTable table = pptUtil.getTableFromSlide(pptUtil.getSlides().get(0));
        XSLFTableRow row = pptUtil.getTableRows(table).get(2);
    
        // 获取需要填充数据的单元格(这里假设需要填充的是第3列)
        XSLFTableCell dataCell = row.getCells().get(2);
    
        // 设置单元格数据
        pptUtil.setCellValue(dataCell, "100");
    
        // 去除上面的空白行
        pptUtil.setCellBorderWidth(dataCell, BorderEdge.top, 0);
    
        // 保存更新后的 ppt 文件
        pptUtil.writePPT(exportPath);
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^