3

使用格式为 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>

从自定义错误模板,

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

仅当格式为 excel 时才会出现此错误。

谢谢 :)

4

1 回答 1

0

查看诊断消息,似乎 CF 正在调用 Jasper Reports 来生成您的报告,并且在内部调用 Apache POI。然而,CF 在寻找正确的 Java 方法来调用时遇到了问题。

这可能是 cfreport 标记中的一个错误,但最可能出现此类异常的原因是您的 ColdFusion 类路径中有多个 Jasper 报告或 POI jar 副本。然后发生的事情是 CF 选择了错误的 Jar,尝试在旧/新 jar 上调用新/旧方法,但失败了。我建议您检查您的类路径,并确保您那里只有最新的 jar,或者只有 CF 提供的那些,但不是我怀疑您目前拥有的两个副本。

有关如何获取 CF 从中加载 java 类的 jar 文件的示例,请参阅this

于 2011-04-10T16:49:29.467 回答