普通导出报表
背景说明:
报表制作完成后,不仅能够实现展现及打印的功能,还能够根据用户的不同需求,以不同的形式导出。润乾报表为用户提供的导出方式有Excel, PDF,Text,Xml,Word,html,csv,OFD,方便了用户的使用。
代码示例:
◆ 导出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 ); //导出
◆ 导出图片
IReport iReport = ......; //运算代码,获得一个IReport对象
ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_PICTURE); //导出为不分页的图片
ReportExporter re = new ReportExporter(java.lang.String fileName,ReportExporter. EXPORT_PICTURE_PAGE); //导出为分页的图片
re.setPictureFormat("JPG"); //设置导出的图片格式,默认为PNG,支持的图形格式有PNG、JPG、GIF、SVG、TIFF
re.export(ireport ); //导出
注意:程序会将图片(集合)压缩为zip格式,导出的文件名后缀要使用zip。
◆ 导出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); //导出到文件f。exportDisp是否导出显示值。
导出报表到服务器
背景说明:
报表制作完成后,不仅可以导出到本地,还可以导出到服务器中的某个目录下。
页面中展现报表时,会生成一个导出到服务器的js函数,函数名为save2server (reportName, saveClass),[reportName]是tag标签中指定的报表name,参数saveClass是用户写的保存类全名,此类要实现接口com.raqsoft.report.usermodel.ISave2Server。
用户可在页面中放一个按钮来调用此js函数,或者在tag的userFuncBarElements属性中添加按钮到报表的工具条中。
示例:
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