1

我在没有默认导出引擎的情况下在我的服务器中创建报告时遇到了一些问题。我正在使用 SpudSoft 创建它。我有以下配置:

  • 雄猫 7
  • 比特 4.2.2
  • uk.co.spudsoft.birt.emitters.excel_0.8.0.201310230652.jar

我遵循了本教程:

spudsoft-birt-excel-发射器

我没有包含这个文件

lib/slf4j-api-1.6.2.jar

因为它不包含在 *.jar 文件中

或者写了这段代码:

'if( "XLS".equalsIgnoreCase( outputFileFormat ) ) {
     renderOption.setEmitterID( "uk.co.spudsoft.birt.emitters.excel.XlsEmitter" );
 } else if( "XLSX".equalsIgnoreCase( outputFileFormat ) ) {
     renderOption.setEmitterID( "uk.co.spudsoft.birt.emitters.excel.XlsxEmitter" );
 }'

因为我真的不知道在哪里使用它。

要运行我的报告,我使用以下 URL

http://127.0.0.1:8090/birt-viewer/frameset?__format=xls&__report=informes/myReport.rptdesign&__emitterid=uk.co.spudsoft.birt.emitters.excel.XlsEmitter

我收到以下消息:

org.eclipse.birt.report.service.api.ReportServiceException:渲染选项的 EmitterID uk.co.spudsoft.birt.emitters.excel 无效。

如何运行 SpudSoft 报告?我已经阅读了一个星期,但我还没有找到任何解决方案!

非常感谢大家!

4

2 回答 2

1

@Dominique,我建议从 BIRT 4.3 中包含的发射器升级(鉴于 BIRT 团队缺乏回应,我很遗憾让他们把它放在那里)。此外,您不需要使用特定的 IRenderOption 类型——它们实际上都是一样的。

@Jota,如果您收到该错误,则表示 BIRT 没有正确拾取发射器(您确实有正确的发射器 ID)。

我不使用 BIRT 战争文件,所以我的说明不是针对这种方法(我只是在我自己的服务中使用报告引擎)。

代码片段对您没有用,它只是一种指定发射器 ID 的方法,您正在对查询字符串执行此操作。

您拥有的发射器版本不应该需要 slf4j - 它使用 JUL 代替(我讨厌 JUL,但它的依赖性少了一个)。

你能在你的战争中发布一个完整的 jar 文件列表吗?

于 2014-05-28T14:38:29.927 回答
0

似乎是因为您使用了通用的 IRenderOption。使用 spudsoft 发射器,您应该像这样实例化您的渲染选项:

EXCELRenderOption excelOptions = new EXCELRenderOption();

请注意,如果您升级到 BIRT 4.3,您不必再设置发射器,它是嵌入的

于 2014-05-28T06:04:29.237 回答