当格式为excel时,coldfusion cfreport错误

在使用格式为excel的cfreport时,我遇到了一个问题。 甚至发生此错误* .cfr文件只包含单个标签。

<cferror template="path/to/error_template.cfm" type="EXCEPTION"> <cfreport template="path/to/cfr_file.cfr" format="excel"> <cfreportparam name="param1" value="value1"> <!--- several cfreportparam tag ---> </cfreport> 

从自定义错误模板中,

  • 诊断 :(class:net / sf / jasperreports / engine / export / JRXlsExporter,方法:createMergeRegion签名:(Lnet / sf / jasperreports / engine / export / JRExporterGridCell; IILorg / apache / poi / hssf / usermodel / HSSFCellStyle;)V)函数的参数不兼容
    错误发生在-1行上。
  • 消息 :(类:net / sf / jasperreports / engine / export / JRXlsExporter,方法:createMergeRegion签名:(Lnet / sf / jasperreports / engine / export / JRExporterGridCell; IILorg / apache / poi / hssf / usermodel / HSSFCellStyle;)V)不兼容的function参数

只有当格式为excel时,才会出现此错误。

谢谢 :)

看着诊断消息,看起来CF正在调用Jasper Reports来生成报告,这就是在内部调用Apache POI。 但是,CF正在寻找正确的Java方法进行调用。

这可能是cfreport标记中的一个错误,但是像这样的exception的最可能原因是在ColdFusion类path中有多个Jasper Reports或POI JAR的副本。 接下来发生的事情是,CFselect了错误的Jar,试图在旧的/新的jar上调用新的/旧的方法,并失败。 我build议你检查一下你的classpath,确保你只有最新的jar子,或者只有CF出货的jar子,但不是我怀疑你现在有两个。

看到这个例子来获取如何从CF加载一个Java类的jar文件