Birt CSV report issue [message #1218579] |
Fri, 29 November 2013 10:40  |
Eclipse User |
|
|
|
Hi there,
I used the instructions in csv-emitter-birt-plugin at https://code.google.com/a/eclipselabs.org/p/csv-emitter-birt-plugin/.
I am passing a parameter map to Birt task and need to get a CSV output.
Here is the code:
String resourcePath = "C:/Pssu2/eclipse/resources/reports/";
FileInputStream fs = new FileInputStream(resourcePath+"partsList.rptdesign");
IReportEngine engine = null;
EngineConfig config = new EngineConfig();
// Your BIRT Runtime Directory Path, don't include ReportEngine in path name
config.setEngineHome("C:/Pssu2/birt-runtime-3_7_0/");
config.setLogConfig("C:/birt/logs", Level.FINE);
config.setResourcePath(resourcePath);
Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
engine = factory.createReportEngine(config);
engine.changeLogLevel(Level.FINE);
// Your Report Design File Name here..
IReportRunnable design = engine.openReportDesign(fs);
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
// Creating CSV Render Option object here..
CSVRenderOption csvOptions = new CSVRenderOption();
String format = CSVRenderOption.OUTPUT_FORMAT_CSV;
// Setting up various CSV Render Option before running the task
// CSV Render Option to set the output format
csvOptions.setOutputFormat(format);
// CSV Render Option to specify the output directory and file
csvOptions.setOutputFileName("reports/csvTest.csv");
// CSV Render Option to set if Data Type of column need to be rendered in second row of output
csvOptions.setShowDatatypeInSecondRow(true);
// CSV Render Option to Render a Table by Name
csvOptions.setExportTableByName("SecondTable");
// CSV Render Options to specify the delimiter
csvOptions.setDelimiter("\t");
// CSV Render Option to specify the character to be replaced if delmiter appears in actual text
csvOptions.setReplaceDelimiterInsideTextWith("-");
final Iterator<Entry<String, Object>> iterator = parameters.entrySet().iterator();
while (iterator.hasNext())
{
final Entry<String, Object> parameter = iterator.next();
task.setParameterValue(parameter.getKey(), parameter.getValue());
}
task.setRenderOption(csvOptions);
task.setEmitterID("org.eclipse.birt.report.engine.emitter.csv");
task.run();
task.close();
Platform.shutdown();
System.out.println("Report Generated Sucessfully!!");
I am getting an error:
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)
Any help to resolve this issue is appreciated.
cheers,
|
|
|
|
Powered by
FUDForum. Page generated in 0.07983 seconds