导出报表

普通导出报表

背景说明:

报表制作完成后,不仅能够实现展现及打印的功能,还能够根据用户的不同需求,以不同的形式导出。润乾报表为用户提供的导出方式有Excel PDFTextXmlWordhtmlcsvOFD,方便了用户的使用。

代码示例:

◆ 导出Excel

IReport ireport = ......;    //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_EXCEL);  //导出为Excel

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_EXCEL_PAGE);  //导出为分页的Excel

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_EXCEL_FORMULA);  //导出为带公式的Excel

re.export(ireport );  //导出

◆ 导出Pdf

IReport iReport = ......;  //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_PDF);  //导出为PDF

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_PDF_PAGE);  //导出为分页的PDF

re.export(ireport );  //导出

◆ 导出OFD

IReport iReport = ......;  //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_OFD);  //导出为OFD

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_OFD_PAGE);  //导出为分页的OFD

re.export(ireport );   //导出

◆ 导出Text

IReport iReport = ......;  //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_TEXT);  //导出为txt

re.export(ireport );  //导出

◆ 导出xml

IReport iReport = ......;   //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter.EXPORT_XML);  //导出为xml

re.export(ireport );  //导出

◆ 导出html

IReport iReport = ......;  //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_HTML);  //导出为html

re.export(ireport );  //导出

◆ 导出Word

IReport iReport = ......;  //运算代码,获得一个IReport对象

ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_WORD_OPENXML);  //导出为Word

re.export(ireport );  //导出

◆ 导出csv

TextFile tf = new TextFile( IReport report, String separator, String lineBreak );  //设置分隔符和换行符,一般是: \t \n和空格。

tf.setType("csv");  //两种type,还可以是txt

tf.fileWrite( java.ioFile f, java.lang.String exportDisp);  //导出到文件fexportDisp是否导出显示值。

 

导出报表到服务器

背景说明:

报表制作完成后,不仅可以导出到本地,还可以导出到服务器中的某个目录下。

页面中展现报表时,会生成一个导出到服务器的js函数,函数名为save2server (reportName, saveClass)[reportName]tag标签中指定的报表name,参数saveClass是用户写的保存类全名,此类要实现接口com.raqsoft.report.usermodel.ISave2Server

用户可在页面中放一个按钮来调用此js函数,或者在taguserFuncBarElements属性中添加按钮到报表的工具条中。

 

示例:

JSP页面:

<report:html name="report1" reportFileName="<%=file%>"

……

modifiable="yes"

userFuncBarElements="<input type=button value='导出Excel到服务器' onclick=save2server ('report1','test.MySave2Server')>"

/>

 

参考文件:SavetoServer.jsp

 

MySave2Server代码:

package api;

import java.io.FileOutputStream;

import java.io.PrintWriter;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServletResponse;

import com.raqsoft.report.usermodel.IReport;

import com.raqsoft.report.usermodel.ISave2Server;

import com.raqsoft.report.util.ReportUtils;

public class MySave2Server implements ISave2Server {

public void save(IReport report, String fileName, ServletContext application, HttpServletResponse response ) throws Throwable {

... ...

fileName = application.getRealPath( "/export/" + fileName + ".xls" );

FileOutputStream fos = null;

try {

fos = new FileOutputStream( fileName );

ReportUtils.exportToExcel (fos, report, true);

}

finally {

... ...

}

... ...

}

}

 

参考文件:MySave2Server.java