集智平台cs模式报表使用简介
java应用有不少是C/S模式,在C/S模式下,同样可以调用报表的API接口运算、展现、导出、打印报表。报表的计算、导出和在B/S模式下方法相同。展现和打印用到了CSReport类。CSReport是C/S模式下的报表控件类,在这个类中可以获得报表的显示面板、获得报表的打印面板、显示报表打印窗口、直接打印报表等等。
下面分别介绍这几步的实现方法
运算报表
private IReport CalcReport(String reportFile, String license) {
ExtCellSet.setLicenseFileName(license);//设置授权
ReportDefine rd = null;
try {
rd = (ReportDefine) ReportUtils.read(reportFile);//读取报表
} catch (Exception e) {
e.printStackTrace();
}
Context cxt = new Context();
Engine engine = new Engine(rd, cxt);
IReport iReport = engine.calc();
return iReport;
}
以上代码的功能是运算报表,和在B/S模式下运算报表差不多。
展现报表
Private showReport(IReport iReport){
CSReport csReport = new CSReport(iReport);
try {//获取报表的显示面板,并且放置在frame窗体中
getContentPane().add(csReport.getDisplayPane());
} catch (Throwable e) {
e.printStackTrace();
}
show();
}
展现报表效果
导出报表(导出excel方法)
private void SaveAsExcel() {
String fileName = “”;
// 定义导出文件的格式
FileNameExtensionFilter filter = new FileNameExtensionFilter(“excel”,
“xls”);
JFileChooser jFileChooser = new JFileChooser();
jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
jFileChooser.setFileFilter(filter); // 调用定义好的文件类型
jFileChooser.setDialogTitle(“选择保存路径”);
int result = jFileChooser.showSaveDialog(csReport.this);
if (result == JFileChooser.APPROVE_OPTION) {//判断是否选择保存按钮
fileName = jFileChooser.getSelectedFile().getAbsolutePath()
+ “.xls”;
System.out.println(fileName);
try {
ReportUtils.exportToExcel(fileName, iReporttrue);
} catch (Throwable e) {
e.printStackTrace();
}
}
}
其他格式文件的导出方法和这个类似,这里就不介绍了。
导出保存时界面
打印报表
private void printReport() {
JFrame jFrame = new JFrame();
CSReport csReport = new CSReport(iReport);
try {
csReport.print(jFrame);
} catch (Throwable e) {
e.printStackTrace();
}
}
打印时首先定义一个窗体,然后调用CSReport类中打印方法就可以实现了。
CS模式下使用报表没有BS模式下方便,因为没有专门的标签或者方法直接调用,但是润乾提供了丰富的API接口,简单组织一下代码就能实现,通过上面的实例代码可以看出,代码并不复杂。