当前位置: 首页 > article >正文

国产系统给在线的Word文件创建表格

在实际项目的开发中会遇到这样的需求:要求在生成word文件的时候,在文件的指定位置动态生成表格并填充。

public Table createTable(int numRows,
                         int numColumns,
                         WdAutoFitBehavior autoFitBehavior)
                  throws java.lang.Exception

参数:

  • numRows 新表格的行数。
  • numColumns 新表格的列数。
  • autoFitBehavior 用于设置 Word 调整表格大小的“自动调整”规则。

数据区域生成表格通常有两种使用场景:

1、在word文档已有的指定的数据区域位置动态生成表格。

//在word中指定的"PO_table1"的数据区域内动态创建一个3行5列的表格
Table table1 = doc.openDataRegion("PO_table1").createTable(3, 5, WdAutoFitBehavior.wdAutoFitWindow);

2、在 word 文档开始或者末尾处动态生成表格。这种场景就需要依赖 PageOffice 预留的两个特殊数据区域:[HOME]和[END]动态创建数据区域,然后根据新生成的数据区域动态生成表格。

//在word文档的末尾处动态创建一个3行5列的表格。具体代码步骤是先根据PageOffice预留[END]数据区域动态创建"PO_table1",然后在"PO_table1"处动态创建3行5列的表格。
Table table1 = doc.createDataRegion("PO_table1",DataRegionInsertType.After, "[END]").createTable(3, 5, WdAutoFitBehavior.wdAutoFitWindow);

后端代码

例如:在当前 word 文件的末尾处生成一个 3 行 5 列的表格并动态填充。

PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocumentWriter doc = new WordDocumentWriter();
DataRegion dr = doc.createDataRegion("PO_table1",DataRegionInsertType.After, "[END]");
Table table1 = dr.createTable(3, 5, WdAutoFitBehavior.wdAutoFitWindow);
for (int i = 1; i < 4; i++) {
    table1.openCellRC(i, 1).setValue("AA" + String.valueOf(i));
    table1.openCellRC(i, 2).setValue("BB" + String.valueOf(i));
    table1.openCellRC(i, 3).setValue("CC" + String.valueOf(i));
    table1.openCellRC(i, 4).setValue("DD" + String.valueOf(i));
    table1.openCellRC(i, 5).setValue("EE" + String.valueOf(i));
}
poCtrl.setWriter(doc);
//打开Word文件
poCtrl.webOpen("D:\\template1.docx", OpenModeType.docNormalEdit, "张三");

 window演示视频:PageOffice在Word里生成表格并自动填充_哔哩哔哩_bilibili

国产系统演示视频:PageOffice国产版在Word生成表格并自动填充_哔哩哔哩_bilibili

pageoffice开发者中心:PageOffice 开发者中心


http://www.kler.cn/a/394837.html

相关文章:

  • 批量从Excel某一列中找到符合要求的值并提取其对应数据
  • Java NIO 深度解析:构建高效的 I/O 操作
  • redis7.x源码分析:(1) sds动态字符串
  • 论文解析:边缘计算网络中资源共享的分布式协议(2区)
  • 32位、64位、x86与x64:深入解析计算机架构
  • DNS面临的4大类共计11小类安全风险及防御措施
  • unity3d————接口基础知识点
  • STM32 创建一个工程文件(寄存器、标准库)
  • Android在使用RecycylerView开发中,设置item单选效果,并且设置默认选中第一个
  • fastadmin多个表crud连表操作步骤
  • 《鸿蒙生态:开发者的机遇与挑战》
  • ddl/dml/dcl
  • 【计算机网络】【传输层】【习题】
  • 子集选择——基于R语言实现(最优子集选择法、逐步回归法、Lasso回归法、交叉验证法)
  • 通过vmware虚拟机安装和调试编译好的 ReactOS
  • 使用etl工具kettle的日常踩坑梳理之一、从mysql中导出数据
  • 【springboot使用sqlite数据库】Java后台同时使用mysql、sqlite
  • 零基础想学习 Web 安全,如何入门?
  • 深入探索 React Hooks:原理、用法与性能优化全解
  • nVisual自定义工单内容
  • 力扣第48题“旋转图像”
  • 计算机网络-2.1物理层
  • C++全局构造和初始化
  • 算法训练(leetcode)二刷第二十五天 | *134. 加油站、*135. 分发糖果、860. 柠檬水找零、*406. 根据身高重建队列
  • 24/11/14 算法笔记 EM算法期望最大化算法
  • CentOS网络配置