我在服务器中创建报告时遇到一些问题而没有默认导出引擎。 我正在使用SpudSoft来创建它。我有以下配置:
我遵循了本教程:
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" );
}'
因为我真的不知道在哪里使用它。
运行我的报告我使用以下网址
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报告?我已经阅读了一个星期,我还没找到任何解决方案!
非常感谢所有人!
答案 0 :(得分:1)
@Dominique, 我建议从BIRT 4.3附带的发射器进行升级(鉴于BIRT团队缺乏响应,我很遗憾让他们把它放在那里)。 此外,您不需要使用特定的IRenderOption类型 - 无论如何它们都是相同的。
@Jota, 如果你得到那个错误,这意味着BIRT没有正确地拾取发射器(你有正确的发射器ID)。
我不使用BIRT war文件,因此我的说明并非针对该方法(我只是在自己的服务中使用报告引擎)。
代码片段对您没有用,它只是一种指定您在查询字符串上执行的发射器ID的方法。
使用你拥有的发射器版本不应该使用slf4j - 它使用JUL代替(我讨厌JUL,但它的依赖性更少)。你可以在战争中发布一个完整的jar文件列表吗?
答案 1 :(得分:0)
似乎是因为你使用了一般的IRenderOption。使用spudsoft发射器,您应该实例化渲染选项,如下所示:
EXCELRenderOption excelOptions = new EXCELRenderOption();
请注意,如果您升级到BIRT 4.3,则不必再设置发射器,它是嵌入式的