Birt Multi Sheet report using SpudSoft

2k Views Asked by At

I´m having some problems to create reports in my server without default export engine. I´m using SpudSoft to create it. I have the following configuration:

  • Tomcat 7
  • Birt 4.2.2
  • uk.co.spudsoft.birt.emitters.excel_0.8.0.201310230652.jar

And i followed this tutorial:

spudsoft-birt-excel-emitters

I haven´t include this file

lib/slf4j-api-1.6.2.jar

because it´s not included in the *.jar file

and either wrote this code:

'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" );
 }'

Because I dont really know where to use it.

to run my report i use the following URL

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

and i get the following message:

org.eclipse.birt.report.service.api.ReportServiceException: EmitterID uk.co.spudsoft.birt.emitters.excel for render option is invalid.

What can i do to run SpudSoft report? I've been reading for a week and I haven´t found any solution!

Thanks a lot for all!

2

There are 2 best solutions below

0
On

@Dominique, I recommend upgrading from the emitter included with BIRT 4.3 (and given the lack of responses from the BIRT team I regret letting them put it in there). Also, you don't need to use a specific IRenderOption type - they are all the same really anyway.

@Jota, If you are getting that error it means that BIRT hasn't picked up the emitter correctly (you do have the correct emitter ID).

I don't use the BIRT war file, so my instructions aren't aimed at that approach (I just use the report engine in my own service).

The code snippet is no use for you, it's just a way to specify the emitter ID, which you are doing on the query string.

slf4j shouldn't be needed with the version of the emitter that you have - it uses JUL instead (I hate JUL, but it's one fewer dependency).

Can you post a complete listing of the jar files in your war?

1
On

It seems because you make use of a generic IRenderOption. With spudsoft emitter you should instantiate your render options like this:

EXCELRenderOption excelOptions = new EXCELRenderOption();

Note if you upgrade to BIRT 4.3 you don't have to set the emitter anymore, it is embedded