0

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

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 应用程序。

4

2 回答 2

0

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

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

于 2013-12-31T08:57:47.653 回答
0

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

于 2013-06-23T19:50:08.740 回答