finereport批量导出
访问地址批量导出的方式
以下是导出无数据的模版
http://localhost:8075/WebReport/ReportServer?reportlets=({reportlet:/G2200.cpt},{reportlet:/G3100.cpt},{reportlet:/G4000.cpt},{reportlet:/G4100.cpt})&format=pdf
http://localhost:8075/WebReport/ReportServer 前半部分访问报表服务器地址,后半部分为导出报表的参数
reportlets=({reportlet:/G2200.cpt},{reportlet:/G3100.cpt},{reportlet:/G4000.cpt},{reportlet:/G4100.cpt})&format=pdf
批量后台导出
package com.fr.io;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import com.fr.base.FRContext;
import com.fr.dav.LocalEnv;
import com.fr.io.exporter.ExcelExporter;
import com.fr.main.TemplateWorkBook;
import com.fr.main.result.ResultWorkBook;
public class Exports {
// 报表名
String[] reportid;
// 机构
String p4;
// 日期
String p5;
// 币种
String p6;
// 报表服务器路径
String reportpath;
// 报表输出路径
String exportpath;
// 目前服务器jar中没有包含POI包,所以会有警告,但是文档可以正常输出。如果添加POI2007,会导致输出的文档2003无法识别。
public static void main(String[] args) {
try {
// 设置报表服务器所在路径
String envpath = "E:\\报表平台项目\\FineReport_7.0\\WebReport\\WEB-INF";
// 装载服务器路径
FRContext.setCurrentEnv(new LocalEnv(envpath));
// 生成模版对象
TemplateWorkBook workbook = TemplateWorkBookIO.readTemplateWorkBook(FRContext.getCurrentEnv(), "G0104.cpt");
// 设置模版参数
java.util.Map<String, String> paramap = new java.util.HashMap<String, String>();
// 机构
paramap.put("p4", "320320001");
// 日期
paramap.put("p5", "2012-09-21");
// 币种
paramap.put("p6", "156");
// 将参数传入模版
ResultWorkBook result = workbook.execute(paramap);
// 生成excel空白文件
OutputStream outputdtream = new FileOutputStream(new File("E:\\G0104.xls"));
// 初始化excel导入工具
ExcelExporter excelexporter = new ExcelExporter();
// 将模版对象写入空白excel文件
excelexporter.export(outputdtream, result);
} catch (Exception e) {
e.printStackTrace();
}
}
}