BIRT csv发射器和EJB

时间:2013-04-24 12:29:48

标签: birt

我想在Java EE应用程序中使用csv emitter插件。可能吗?我收到以下错误:

org.eclipse.birt.report.engine.api.UnsupportedFormatException: The output format csv is not supported.
at org.eclipse.birt.report.engine.api.impl.EngineTask.setupRenderOption(EngineTask.java:2047)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:96)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)

我的代码:

protected String generateReportFile(IRunAndRenderTask task, IReportRunnable design, IReportEngine engine, String reportType, String reportPrefix, String baseDir) throws BirtReportGenerationFault {
      CSVRenderOption csvOptions = new CSVRenderOption();

        csvOptions.setOutputFormat(CSVRenderOption.OUTPUT_FORMAT_CSV);

        csvOptions.setOutputFileName("C:/birt/logs/csvTestW.csv");

        csvOptions.setShowDatatypeInSecondRow(false);

        csvOptions.setExportTableByName("data");

        csvOptions.setDelimiter("\t");

        csvOptions.setReplaceDelimiterInsideTextWith("-");

        task.setRenderOption(csvOptions);               
        task.setEmitterID("org.eclipse.birt.report.engine.emitter.csv");

        try {
            task.run();// Error here
        } catch (EngineException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        task.close();


    return "C:/birt/logs/csvTestW.csv";//fileName;
  }

相同的代码适用于Java SE应用程序。

2 个答案:

答案 0 :(得分:0)

我有同样的问题,但是使用pdf格式。我通过将org.eclipse.birt.report.engine.emitter.pdf添加到插件依赖项来解决它。

答案 1 :(得分:0)

我认为这里的问题是在CSVRenderOptions中传递输出格式的情况。

而不是使用csvOptions.setOutputFormat(CSVRenderOption.OUTPUT_FORMAT_CSV);
尝试使用csvOptions.setOutputFormat("CSV");