PageOfficeV6.0对excel一块区域赋值,并自动增加行

发布时间 2023-11-02 13:55:08作者: 爱吃苹果皮

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

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

注意

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

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

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

后端代码

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

    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

    Workbook wb = new Workbook();
    Sheet sheet = wb.openSheet("Sheet1");
    Table table = sheet.openTable("B4:F13");//打开"B4:F13"区域为一个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相对地址或者文件在服务器上的磁盘路径两种方式
    //查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
    poCtrl.webOpen("D:\documents\test.xlsx", OpenModeType.xlsNormalEdit, "张三");