PageOffice 开发者中心 PageOffice 开发者中心
首页
文档
  • 后端Java手册 (opens new window)
  • 后端.netcore手册 (opens new window)
  • 前端JavaScript手册 (opens new window)
下载
购买 (opens new window)
首页
文档
  • 后端Java手册 (opens new window)
  • 后端.netcore手册 (opens new window)
  • 前端JavaScript手册 (opens new window)
下载
购买 (opens new window)
  • 开始

  • 通用控制

  • Word

  • Excel

    • 常用控制

    • 动态填充

      • 单元格填充数据
      • 单元格添加图片
      • 设置单元格的字体样式
      • 单元格赋值并设置文本颜色
      • 设置单元格的对齐方式和背景色
      • 给定义了名称的单元格赋值
      • 给定义了名称的一块区域赋值
      • 对一块区域赋值,并自动增加行
        • 动态生成Excel文件
        • 设置表格线
      • 用户输入提交

    • PDF

    • FileMaker

    • PPT

    • 更多

    目录

    对一块区域赋值,并自动增加行

    # 对一块区域赋值,并自动增加行

    • 查看本示例演示效果
    • 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码

    注意

    本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

    假如在逐行填充数据库数据到Excel模板中时,模板中表格的待填充数据的单元格区域行数不足,那就不要采用openCell方法去逐个填充单元格赋值,而是把整个待填充数据的单元格区域作为一个Table去操作,每填充一行数据,就调用Table的nextRow方法,如此一来,假如待填充数据行数超过Excel中单元格区域的行数时,PageOffice会在Table的末尾自动插入行,直到所有数据都填充完毕。

    比如模板test.xlsx中的表格只有10行数据行,调用PageOffice打开此文件,并动态填充50行数据。

    # 后端代码

    在后端编写代码调用webOpen方法打开文件,并创建Table对象填充数据。

      PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
      
      WorkbookWriter wb = new WorkbookWriter();
      SheetWriter sheet = wb.openSheet("Sheet1");
      ExcelTableWriter table = sheet.openTable("B4:D13");//打开"B4:D13"区域为一个Table对象
      for (int i = 0; i < 50; i++) {
          table.getDataFields().get(0).setValue("产品 " + i);
          table.getDataFields().get(1).setValue("100");
          table.getDataFields().get(2).setValue(String.valueOf(100 + i));
          table.nextRow();
      }
      table.close();
      
      poCtrl.setWriter(wb); //必须。
      //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
      poCtrl.webOpen("D:\\documents\\test.xlsx", OpenModeType.xlsNormalEdit, "张三");
      
      PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
      
      PageOfficeNetCore.Excel.WorkbookWriter workBook = new PageOfficeNetCore.Excel.WorkbookWriter();
      PageOfficeNetCore.Excel.SheetWriter sheet = workBook.OpenSheet("Sheet1");
      PageOfficeNetCore.Excel.ExcelTableWriter table = sheet.OpenTable("B4:D13");
      for (int i = 0; i < 50; i++){
          table.DataFields[0].Value = "产品 " + i.ToString();
          table.DataFields[1].Value = "100";
          table.DataFields[2].Value = (100 + i).ToString();
          table.NextRow();
      }
      table.Close();
      
      poCtrl.SetWriter(workBook);// 注意不要忘记此代码,如果缺少此句代码,不会赋值成功。
      //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
      poCtrl.WebOpen("doc/test.xls", PageOfficeNetCore.OpenModeType.xlsNormalEdit, "tom");
      
      // Make sure to add code blocks to your code group

      # 前端代码

      本示例无前端关键代码。

      上次更新: 2025/11/07, 13:53:45
      PageOffice | Copyright © 2013-2026 卓正软件 京ICP备12010902号-2 京公网安备 11010502019270号
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式