指定数据行导入到EXCEL中不同的sheet中
需求背景:
客户的报表是一个行数超出了65535行的数据表,预想按照每10000条数据导入到EXCEL中的sheet中。
需求实现:
我们通过如下API实现次需求。
public class ExpEXCELL {
public static void main(String[] args) throws Throwable {
Context cxt = new Context(); //构建报表引擎计算环境
String reportFile = “D:\\ demo\\reportFiles\\report_1.raq”; //该文件名可以为绝对路径,也可以相对当前程序启动路径
ExtCellSet.setLicenseFileName(“D:\\ License4.0[229101229154740_2290000]\\Server2011-06-30V4.0Windows.lic”); //设置授权文件
ReportDefine rd = (ReportDefine)ReportUtils.read( reportFile );
PrintSetup ps = new PrintSetup();
ps.setPagerStyle(ps.PAGER_ROW);
ps.setRowNumPerPage(100);
rd.setPrintSetup(ps);
Engine engine = new Engine(rd, cxt); //构造报表引擎
IReport iReport = engine.calc(); //运算报表
ReportUtils.exportToExcel(“D:/report_1.xls”,iReport, true);
}
}
我们使用名为report_1.raq的报表进行测试,由于数据量为855条记录,没那么大的数据量,所以,我们设置每个sheet中存100行数据,那么我们导出的EXCEL也就应该是9页,这里设置的只是数据区的行数,不包括报表头的行数。