ReportUtils- 报表工具类

在使用API的过程中,我们可能需要频繁的做一些基本的事情,例如读入报表对象,报表计算结果以Excel格式导出等等,这需要一个类来封装这些操作,从而程序员能够简单明了的完成调用,ReportUtils就是这样的工具类之一,由它很容易完成报表导入到内存或者将计算后的报表对象导出指定的格式等等。

 

实例请参考

TAG实例 / html模式发布报表 / 发布基本报表

TAG实例 / html模式发布报表 / 参数

TAG实例 / html模式发布报表 / 浏览式报表

API实例 / 运算报表

API实例 / 报表模板编辑 / 设置单元格属性

API实例 / 报表模板编辑 / 保存报表

 

本类中所有方法为静态方法,可以直接使用。

 

l  可用方法

exportToExcel

  法:    public static void exportToExcel(java.lang.String fileName,

IReport report,

boolean pageBroken,

int dispRatio)

throws java.lang.Throwable

参数说明:   

fileName– 保存Excel的路径与文件名

report– 需要导出为Excel的报表对象

pageBroken – 是否分页

dispRatio – 显示比例

功能说明:  将报表对象导出为Excel对象

 

mergeReport

  法:    public static IReport mergeReport(IReport reportDefine, Area area)

throws java.lang.Exception

参数说明:   

reportDefine– 被操作的报表定义对象

area – 合并的区域,这个对象主要的构造函数是Area(int r1, short c1, int r2, short c2),它四个参数分别是合并起始行单元格所在的行列,合并结束单元格所在的行列。

功能说明:  合并单元格,注意,此方法不可逆

Returns  :     返回合并后的对象

调用举例:   

Area area = new Area(2,(short)2,4,(short)3);

rd = ReportUtils.mergeReport(rd,area);//合并B2C4这六个单元格

 

read

  法:    public static IReport read(java.io.InputStream is) throws java.lang.Exception

参数说明:    is – 输入流,这个可以文件输入流,也可以来自数据库的文件流

功能说明:  读取报表,生成报表定义对象

Returns  :     报表定义对象,需要强制转化成ReportDefine对象

调用举例:   

InputStream is = ……//来自任何方式的流

ReportDefine rd = (ReportDefine)ReportUtils.read( is );

 

read

  法:    public static IReport read(java.lang.String fileName)

throws java.lang.Exception

参数说明:    fileName – 报表文件名,是一个绝对路径

功能说明:  读取报表,生成报表定义对象

Returns  :     报表定义对象,需要强制转化成ReportDefine对象

调用举例:   

String fileName = “C:/abc.rpx”

ReportDefine rd = (ReportDefine)ReportUtils.read( fileName );

 

write

  法:    public static void write(java.io.OutputStream out,IReport report)

throws java.lang.Exception

参数说明:   

out– 报表输出流

report –报表对象

功能说明:  将报表对象输出到指定的流中去,可以使用这个方法把报表定义对象保存成rpx 文件,也可以将计算后的报表对象保存成rat对象。

调用举例:   

FileOutputStream os = new FileOutputStream(“C:/abc.rpx”);

ReportUtils.write( os, report );

 

write

  法:    public static void write(java.lang.String fileName,IReport report)

throws java.lang.Exception

参数说明:   

fileName– 要加入报表的名称

report –报表对象

功能说明:  将报表对象输出到指定的流中去,可以使用这个方法把报表定义对象保存成rpx 文件,也可以将计算后的报表对象保存成rat对象。

调用举例:    ReportUtils.write( “11.rpx”, report );

 

getReport

  法:    public static IReport getReport(java.lang.String raqFileName)

throws java.lang.Exception

参数说明:    fileName– 要加入报表的名称

功能说明:  根据报表文件名获得一个报表定义对象

调用举例:    ReportUtils.getReport( “11.rpx”);

 

isRaqExists

  法:    public static boolean isRaqExists(java.lang.String raqFileName)

参数说明:  raqFileName - 报表文件名,相对于raqsoftConfig.xml中配置report标签的home路径

功能说明:  判断一个rpx文件是否存在

Returns    是否是路径

调用举例:    ReportUtils.isRaqExists ( “11.rpx”);

 

exportToPDF

  法:    public static void exportToPDF(java.io.OutputStream os,IReport report)

throws java.lang.Throwable

参数说明:  os - 输出流对象,report - 报表对象

功能说明:  将报表输出为PDF文件格式

调用举例:   

 

exportToPDF

  法:    public static void exportToPDF(java.io.OutputStream os,IReport report, boolean pageBroken,boolean graphicOut)

throws java.lang.Throwable

参数说明:   

os - 输出流对象,report - 报表对象pageBroken - 是否分页

graphicOut - 是否将文字以图形方式输出

功能说明:  将报表输出为PDF文件格式

调用举例:   

 

exportToPDF

  法:    public static void exportToPDF(java.lang.String fileName,IReport report)

throws java.lang.Throwable

参数说明:  fileName - 输出的PDF文件名,report - 报表对象

功能说明:  将报表输出为PDF文件格式

调用举例:   

 

exportToPDF

  法:    public static void exportToPDF(java.lang.String fileName,IReport report, boolean pageBroken,boolean graphicOut)

throws java.lang.Throwable

参数说明:   

fileName - 输出的PDF文件名,report - 报表对象

pageBroken - 是否分页,graphicOut - 是否将文字以图形方式输出

功能说明:  将报表输出为PDF文件格式

调用举例:   

 

exportToExcel

  法:    public static void exportToExcel(java.io.OutputStream os,IReport report, boolean pageBroken,int dispRatio)

throws java.lang.Throwable

参数说明:   

os - 输出流对,report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

dispRatio - Excel文件的显示比例, 75%则输入75

功能说明:  将报表输出为Excel格式

调用举例:   

 

exportToExcel

  法:    public static void exportToExcel(java.io.OutputStream os,IReport report, boolean pageBroken,int dispRatio,boolean exportFormula)

throws java.lang.Throwable

参数说明:   

os - 输出流对象report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

dispRatio - Excel文件的显示比例, 75%则输入75

exportFormula - 是否导出公式

功能说明:    将报表输出为Excel格式

调用举例:   

 

exportToExcel

  法:    public static void exportToExcel(java.lang.String fileName,IReport report, boolean pageBroken,int dispRatio)

throws java.lang.Throwable

参数说明:   

 fileName - 输出的Excel文件名

report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

dispRatio - Excel文件的显示比例, 75%则输入75

功能说明:    将报表输出为Excel格式

调用举例:   

 

exportToExcel

  法:    public static void exportToExcel(java.lang.String fileName,IReport report, boolean pageBroken,int dispRati,boolean exportFormula)

throws java.lang.Throwable

参数说明:   

fileName - 输出的Excel文件名,report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

dispRatio - Excel文件的显示比例, 75%则输入75

exportFormula - 是否导出公式

功能说明:    将报表输出为Excel格式

调用举例:   

 

exportToExcel

  法:    public static void exportToExcel(java.io.OutputStream os,IReport report, boolean pageBroken)

throws java.lang.Throwable

参数说明:   

os - 输出流对象,report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

功能说明:    将报表输出为Excel格式

调用举例:   

 

exportToExcel

  法:    public static void exportToExcel(java.lang.String fileName,IReport report, boolean pageBroken)

throws java.lang.Throwable

参数说明:   

fileName - 输出的EXCEL文件名

report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

功能说明:    将报表输出为Excel格式

调用举例:   

 

exportToExcel2007

  法:    public static void exportToExcel2007(java.lang.String fileName,Irepor report, boolean pageBroken)

throws java.lang.Throwable

参数说明:   

fileName - 输出的Excel文件名

report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

功能说明:    将报表输出为Excel2007格式

调用举例:   

 

exportToExcel2007

  法:    public static void exportToExcel2007(java.io.OutputStream os,IReport report, boolean pageBroken)

throws java.lang.Throwable

参数说明:   

os - 输出流对象

report - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

功能说明:    将报表输出为Excel2007格式

调用举例:   

 

exportToExcelOpenXML

  法:  public static void exportToExcelOpenXML(java.io.OutputStream os,IReport report,java.lang.String sheetName,boolean exportFormula)

throws java.lang.Throwable

参数说明:

os - 输出流对象

report - 报表对象

sheetName - 导出后的sheet名称

exportFormula - 是否导出公式

功能说明:    将报表输出为Excel OpenXML格式

调用举例:   

 

exportToExcelOpenXML

  法:  public static void exportToExcelOpenXML(java.lang.String fileName,IReport report,java.lang.String sheetName,boolean exportFormula)

throws java.lang.Throwable

参数说明:   

fileName - 输出文件全路径

report - 报表对象

sheetName - 导出后的sheet名称

exportFormula - 是否导出公式

功能说明:    将报表输出为Excel OpenXML格式

调用举例:   

 

exportToHTML

  法:    public static void exportToHTML(java.lang.String fileName,IReport report)

throws java.lang.Throwable

参数说明:    fileName - 输出文件名,report - 报表对象

功能说明:    将报表输出为html文件格式

调用举例:   

 

exportToHTML

  法:    public static void exportToHTML(java.lang.String fileName,IReport report, float scale)

throws java.lang.Throwable

参数说明:    fileName - 输出文件名,report - 报表对,scale - 缩放比例

功能说明:    将报表输出为html文件格式

调用举例:   

 

exportToHTML

  法:    public static void exportToHTML(java.lang.String fileName,IReport report, java.lang.String encode,float scale)

throws java.lang.Throwable

参数说明:   

fileName - 输出文件名,report - 报表对,scale - 缩放比例

encode - html文件的字符集编码

功能说明:    将报表输出为html文件格式

调用举例:   

 

toHTMLString

  法:    public static java.lang.String toHTMLString(IReport report,java.lang.String reportName, javax.servlet.http.HttpServletRequest request)

throws java.lang.Throwable

参数说明:   

report - 报表对象

reportName - 报表在网页中的ID

request - JSPSERVLET中的request对象

功能说明:    将报表转换成可以网页中显示的html语法

调用举例:   

 

toHTMLString

  法:  public static java.lang.String toHTMLString(IReport report,java.lang.String reportName,javax.servlet.http.HttpServletRequest request,float scale)

throws java.lang.Throwable

参数说明:   

report - 报表对象

reportName - 报表在网页中的ID

request - JSPSERVLET中的request对象

scale - 缩放比例

功能说明:    将报表转换成可以网页中显示的html语法

调用举例:   

 

toHTMLString

  法:  public static java.lang.String toHTMLString(IReport report,java.lang.String reportName,javax.servlet.http.HttpServletRequest request,float scale,boolean base64Image)

throws java.lang.Throwable

参数说明:   

report - 报表对象

reportName - 报表在网页中的ID

request - JSPSERVLET中的request对象

scale - 缩放比例

base64Image - 是否将报表中的图片输出为base64格式串

功能说明:    将报表转换成可以网页中显示的html语法

调用举例:   

 

toText

  法:  public static java.lang.String toText(IReport report)

throws java.lang.Exception

参数说明:    report - 报表对象

功能说明:    将报表转换成可在字符终端显示的文本格式报表(带表格线的)

Returns    字符串

调用举例:   

 

toText

  法:  public static java.lang.String toText(IReport report,boolean exportEmptyHLine)

throws java.lang.Exception

参数说明:   

report - 报表对象

exportEmptyHLine - 横格线为空时是否占一行

功能说明:    将报表转换成可在字符终端显示的文本格式报表(带表格线的)

Returns    字符串

调用举例:   

 

toText

  法:  public static java.lang.String toText(IReport report,java.lang.String separator, boolean dispValue)

throws java.lang.Exception

参数说明:   

report - 报表对象

separator - 同行单元格数据间的分隔符

dispValue - 是否用单元格的显示值作为导出数据

功能说明:     将报表数据存为文本格式(不带表格线)

Returns    字符串格式的报表数据

调用举例:   

 

toText

  法:  public static java.lang.String toText(IReport report,java.lang.String separator, boolean dispValue,java.lang.String lineBreak)

throws java.lang.Exception

参数说明:   

report - 报表对象

separator - 同行单元格数据间的分隔符

dispValue - 是否用单元格的显示值作为导出数据

lineBreak - 报表行分隔符

功能说明:    将报表数据存为文本格式(不带表格线)

Returns    字符串格式的报表数据

调用举例:   

 

exportToText

  法:  public static void exportToText(java.io.OutputStream os,IReport report)

throws java.lang.Exception

参数说明:    os - 输出流对象,report - 报表对象

功能说明:    将报表导出为可在字符终端显示的文本格式(带表格线的)

调用举例:   

 

exportToText

  法:  public static void exportToText(java.io.OutputStream os,IReport report, boolean exportEmptyHLine)

throws java.lang.Exception

参数说明:   

os - 输出流对象,report - 报表对象

exportEmptyHLine - 横格线为空时是否占一行

功能说明:    将报表导出为可在字符终端显示的文本格式(带表格线的)

调用举例:   

 

exportToText

  法:  public static void exportToText(java.io.OutputStream os,IReport report, java.lang.String separator,boolean dispValue)

throws java.lang.Exception

参数说明:   

os - 输出流对象

separator - 同行单元格数据间的分隔符

dispValue - 是否用单元格的显示值作为导出数据

功能说明:    将报表数据存为文本格式(不带表格线)

调用举例:   

 

exportToText

  法:  public static void exportToText(java.io.OutputStream os,IReport report, java.lang.String separator,boolean dispValue,java.lang.String lineBreak)

throws java.lang.Exception

参数说明: 

os - 输出流对象

separator - 同行单元格数据间的分隔符

dispValue - 是否用单元格的显示值作为导出数据

lineBreak - 报表行分隔符

功能说明:    将报表数据存为文本格式(不带表格线)

调用举例:   

 

getReportParamValue

  法:  public static java.lang.String getReportParamValue(javax.servlet.http.HttpServletRequest request, java.lang.String paramName)

参数说明:    request - request对象,paramName - 参数名

功能说明:    获得给报表传递的参数值

调用举例:   

 

readBytes

  法:  public static void readBytes(java.io.InputStream in,byte[] bytes)

throws java.io.IOException

参数说明:    in - 输入流,bytes - 目的数组

功能说明:    从流InputStream中读取byte[]

调用举例:   

 

getExcelCellId

  法:  public static java.lang.String getExcelCellId(int row,int col,IReport report)

参数说明:    row - int,col - int

功能说明:    根据行号列号转换为Excel的单元格的标示

调用举例:   

 

exportReportGroup

  法:  public static void exportReportGroup(String fileName, ReportGroup rg, Context ctx, byte type, int ratio)

throws java.lang.Exception

参数说明:   

fileName – 导出后的文件全路径名

rg - 要导出的报表组对象

ctx - 计算报表组时的context对象

type -导出类型,可设为ReportExporter类中定义的类型,如ReportExporter.EXPORT_EXCELReportExporter.EXPORT_PDF_ANAMORPHIC等等

ratio -导出Excel文件的显示比例

功能说明:    将报表组导出成文件

调用举例:   

 

exportReportGroup

  法:  public static void exportReportGroup(OutputStream os, ReportGroup rg, Context ctx, byte type, int ratio)

throws java.lang.Exception

参数说明:

os - 导出的输出流对象

rg - 要导出的报表组对象

ctx - 计算报表组时的context对象

type -导出类型,可设为ReportExporter类中定义的类型,如ReportExporter.EXPORT_EXCELReportExporter.EXPORT_PDF_ANAMORPHIC等等

ratio -导出Excel文件的显示比例

功能说明:    将报表组导出到一个输出流中

调用举例:   

 

exportToPicture

   法:  public static void exportToPicture(OutputStream os, IReport iReport, boolean pageBroken, String type_ext)

throws Throwable

参数说明:

os - 输出流对象,程序会将图片(集合)压缩为zip格式

iReport - 报表对象

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

type_ext - 图片类型/扩展名,支持pngjpggifsvgtiff类型

功能说明:    将报表输出图片格式

调用举例:   

 

exportReportGroupToPicture

  法:  public static void exportReportGroupToPicture(OutputStream os, ReportGroup group, Context ctx, boolean pageBroken, String type_ext)

(OutputStream os, IReport iReport, boolean pageBroken, String type_ext)

throws Throwable

参数说明:

os - 输出流对象,程序会将图片(集合)压缩为zip格式

group - 报表组对象

ctx - 上下文

pageBroken - 此参数为true时按报表中设定的纸张大小进行分页输出,为false时不分页输出

type_ext - 图片类型/扩展名,支持pngjpggifsvgtiff类型

功能说明:    将报表组输出图片格式

调用举例: