对一块区域赋值,并自动增加行
# 对一块区域赋值,并自动增加行
- 查看本示例演示效果
- 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
假如在逐行填充数据库数据到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