aspose.word 在已有模板表格中动态插入新行

devtools/2024/9/22 18:16:20/

通过已有模板进行进行动态行,aspose版本为21.6

问题,使用insertAfter插入新行后,没有与原表格合并,而是形成了新的表格,这明显不符合要求,最后使用克隆行的方法进行插入,与原表格完美融合

主要代码如下:

 private void replaceExpertInfoNew(List<ErisNewExpertInfo> expertList, Document doc) {Bookmark realName = doc.getRange().getBookmarks().get("realName");//书签->-单元格->行->表格Row row = (Row) realName.getBookmarkStart().getParentNode().getParentNode().getParentNode();Table table = (Table) row.getParentNode();for (ErisNewExpertInfo expert : expertList) {Row nextRow = (Row) row.deepClone(true);插入一行table.insertAfter(nextRow, row);CellCollection cells = nextRow.getCells();int index = 0;for (Cell cell : cells) {cell.removeAllChildren();Paragraph paragraph = new Paragraph(doc);cell.appendChild(paragraph);switch (index) {case 0:paragraph.appendChild(new Run(doc, expert.getRealName()));break;case 1:paragraph.appendChild(new Run(doc, expert.getWorkUnit()));break;case 2:paragraph.appendChild(new Run(doc, expert.getDepartment()));break;case 3:paragraph.appendChild(new Run(doc, expert.getPosition()));break;case 4:paragraph.appendChild(new Run(doc, expert.getPhone()));break;case 5:paragraph.appendChild(new Run(doc, expert.getEmail()));break;case 6:paragraph.appendChild(new Run(doc, ExpertTypeStateEnum.getEnum(expert.getExpertTypeState()).getDescription()));break;default:break;}index++;}}}

表格模板如图:

说明:模板中动态插入专家信息


http://www.ppmy.cn/devtools/23839.html

相关文章

Python正则表达式

Python中的正则表达式是通过内置的re模块来支持的。正则表达式是一种用于字符串搜索和操作的强大工具&#xff0c;它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。 以下是Python中使用正则表达式的基本方法&#xff1a; ### 1. 导入模块 在使用正则表达式之前…

pytest 的 request fixture:实现个性化测试需求

在之前深入理解pytest-repeat插件的工作原理一文中&#xff0c;我们看到pytest_repeat源码中有这样一段 pytest.fixture def __pytest_repeat_step_number(request): marker request.node.get_closest_marker("repeat") count marker and marker.args[0] …

「Kafka」Kafka基础知识入门介绍(三)

「Kafka」Kafka基础知识入门介绍&#xff08;三&#xff09; 一、消息主题1. 创建主题 二、生产数据1. 命令行模式2. Java代码模式 三、消费数据1. 命令行模式2. Java代码模式 「Kafka」Kafka理论知识解读&#xff08;一&#xff09; 「Kafka」Kafka安装和启动&#xff08;二&a…

数据分析-numpy

数据分析 numpy Numpy 是一个开源的 Python 科学计算库&#xff0c;用于快速处理任意维度的数组。Numpy 支持常见的数组和矩阵操作&#xff0c;对于同样的数值计算任务&#xff0c;使用 NumPy 不仅代码要简洁的多&#xff0c;而且 NumPy 在性能上也远远优于原生 Python&#…

springcloud Ribbon的详解

1、Ribbon是什么 Ribbon是Netflix发布的开源项目&#xff0c;Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的框架。 2、Ribbon能干什么 LB负载均衡(Load Balance)是什么&#xff1f;简单的说就是将用户的请求平摊的分配到多个服务上&#xff0c;从而达…

Postman的安装与汉化(超级详细!!!)

1、下载安装包 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;ywmk --来自百度网盘超级会员V5的分享 下载后的目录如图所示 2、Postman安装 双击目录下的 Postman-win64-9.10.0-Setup.exe 即可自动安装 3、Postman汉化 找到postman的安装目录&#xff0c;然后…

day84 json中实现简单验证码

项目中的问题: 1 修改JS或CSS后,页面不能及时更新? 把浏览器-->"开发者工具"-->"网络"-->选中"禁用缓存" 2 如何把HTML页面转为JSP页面 将jsp页面中的<% page contentType"text/html;charse…

vue +antvX6 根据节点与线,动态设置节点坐标生成流程图

需求 vue2 antvX6完成流程图&#xff0c;但只有节点与线&#xff0c;没有节点的坐标&#xff0c;需要根据节点的顺序显示流程图。 需求&#xff1a; 1.根据数据动态生成对应的节点与线&#xff1b; 2.节点不能重叠&#xff1b; 3.节点与线可拖拽&#xff1b; 4.因为线存在重…