easypoi导出Word中,表格分页时上边框丢失

2024-01-27 15:44

本文主要是介绍easypoi导出Word中,表格分页时上边框丢失,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题具体描述: 使用easypoi导出的Word中包含一个表格,表格行数较多,需要分页显示,在分页后第一行的上边框部分丢失,显示不美观,具体如下:
在这里插入图片描述

解决:
对表格中每行都添加一个上边框,具体如下:

        XWPFDocument document = WordExportUtil.exportWord07(templateFile.getAbsolutePath(),map);//以下为添加单元格上线框操作,应该可以再优化,因为此处是对每个单元格添加List<XWPFTable> tables = document.getTables();for (XWPFTable table : tables) {int numberOfRows = table.getNumberOfRows();for (int i = 0; i < numberOfRows; i++) {XWPFTableRow row = table.getRow(i);List<XWPFTableCell> tableCells = row.getTableCells();CTTcPr tcPr ;CTTcBorders ctTcBorders;CTBorder ctBorder;for (XWPFTableCell tableCell : tableCells) {tcPr = tableCell.getCTTc().getTcPr();if(tcPr==null)tcPr=tableCell.getCTTc().addNewTcPr();ctTcBorders = tcPr.addNewTcBorders();ctBorder = ctTcBorders.addNewTop();ctBorder.setVal(STBorder.SINGLE);}}}

知识点:

  1. 创建表格时,为每个单元格设置上边框。这样可以确保每个单元格都有上边框线。
XWPFTable table = document.createTable(rows, cols);
for (int row = 0; row < rows; row++) {       for (int col = 0; col < cols; col++) {        XWPFTableCell cell = table.getRow(row).getCell(col);        CTTcPr cellProperties = cell.getCTTc().getTcPr();        if (cellProperties == null) {            cellProperties =cell.getCTTc().addNewTcPr(); }        CTTcBorders borders = cellProperties.addNewTcBorders();        CTBorder topBorder = borders.addNewTop();   topBorder.setVal(STBorder.SINGLE);    }
}

上述代码使用XWPFTable创建表格,并为每个单元格设置上边框线。
2. 当表格分页时,检查当前页的最后一行是否位于表格的最后一行。如果是,则在表格的下方添加一个空行,并为该行的每个单元格设置上边框

XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.addBreak(BreakType.PAGE);
if (isLastRowInTable(pageLastRow, table)) {    XWPFTableRow emptyRow = table.createRow();    for (int col = 0; col < cols; col++) {        XWPFTableCell cell = emptyRow.getCell(col);        CTTcPr cellProperties = cell.getCTTc().getTcPr();        if (cellProperties == null) {            cellProperties = cell.getCTTc().addNewTcPr();        }        CTTcBorders borders = cellProperties.addNewTcBorders();        CTBorder topBorder = borders.addNewTop();        topBorder.setVal(STBorder.SINGLE);    }
}

上述代码使用XWPFParagraphXWPFRun创建一个新段落,并在段落中添加分页符(addBreak(BreakType.PAGE))。然后,检查当前页的最后一行是否是表格的最后一行,如果是,则在表格下方添加一个空行,并为该行的每个单元格设置上边框线。通过这两个步骤,您可以确保在分页时不丢失上边框。请根据您的具体需求和代码结构进行相应的调整和集成。

这篇关于easypoi导出Word中,表格分页时上边框丢失的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/650706

相关文章

mybatis-plus分页无效问题解决

《mybatis-plus分页无效问题解决》本文主要介绍了mybatis-plus分页无效问题解决,原因是配置分页插件的版本问题,旧版本和新版本的MyBatis-Plus需要不同的分页配置,感兴趣的可... 昨天在做一www.chinasem.cn个新项目使用myBATis-plus分页一直失败,后来经过多方

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库

java导出pdf文件的详细实现方法

《java导出pdf文件的详细实现方法》:本文主要介绍java导出pdf文件的详细实现方法,包括制作模板、获取中文字体文件、实现后端服务以及前端发起请求并生成下载链接,需要的朋友可以参考下... 目录使用注意点包含内容1、制作pdf模板2、获取pdf导出中文需要的文件3、实现4、前端发起请求并生成下载链接使

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放