在Birt中将报告导出为CSV问题

时间:2014-02-20 09:52:26

标签: export birt export-to-csv

当我通过导出报告导出报告时 - > csv报告将作为.htm文件下载。当我在Firefox中打开此.htm文件时,出现以下错误:

org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.
AxisFault

faultCode: 

faultSubcode:

faultString: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.

faultActor:

faultNode:

faultDetail:

    {http://xml.apache.org/axis/}stackTrace:org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.

    at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1106)

    at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1553)

    at org.eclipse.birt.report.service.BirtViewerReportService.renderReport(BirtViewerReportService.java:369)

    at org.eclipse.birt.report.service.actionhandler.BirtRenderReportActionHandler.__execute(BirtRenderReportActionHandler.java:65)

    at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)

    at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.doService(FramesetFragment.java:222)

    at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:86)

    at org.eclipse.birt.report.servlet.ViewerServlet.__doGet(ViewerServlet.java:181)

    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:278)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.hbsp.cl.report.web.SessionFilter.doFilter(SessionFilter.java:48)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

    at java.lang.Thread.run(Thread.java:662)

Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.

    at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2248)

    at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:298)

    at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1547)

    ... 38 more

Caused by: java.lang.NullPointerException

    at org.eclipse.birt.report.engine.layout.LayoutUtil.contains(LayoutUtil.java:187)

    at org.eclipse.birt.report.engine.layout.LayoutUtil.isHiddenByVisibility(LayoutUtil.java:142)

    at org.eclipse.birt.report.engine.layout.LayoutUtil.isHidden(LayoutUtil.java:105)

    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.handleVisibility(HTMLAbstractLM.java:368)

    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:123)

    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

    at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)

    at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)

    at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:661)

    at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:294)

    ... 39 more



    {http://xml.apache.or...e:impetus-b0109

    {}:org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.

    at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1106)

    at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1553)

    at org.eclipse.birt.report.service.BirtViewerReportService.renderReport(BirtViewerReportService.java:369)

    at org.eclipse.birt.report.service.actionhandler.BirtRenderReportActionHandler.__execute(BirtRenderReportActionHandler.java:65)

    at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)

    at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.doService(FramesetFragment.java:222)

    at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:86)

    at org.eclipse.birt.report.servlet.ViewerServlet.__doGet(ViewerServlet.java:181)

    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:278)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.hbsp.cl.report.web.SessionFilter.doFilter(SessionFilter.java:48)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

    at java.lang.Thread.run(Thread.java:662)

Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.

    at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2248)

    at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:298)

    at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1547)

    ... 38 more

Caused by: java.lang.NullPointerException

    at org.eclipse.birt.report.engine.layout.LayoutUtil.contains(LayoutUtil.java:187)

    at org.eclipse.birt.report.engine.layout.LayoutUtil.isHiddenByVisibility(LayoutUtil.java:142)

    at org.eclipse.birt.report.engine.layout.LayoutUtil.isHidden(LayoutUtil.java:105)

    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.handleVisibility(HTMLAbstractLM.java:368)

    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:123)

    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

    at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)

    at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)

    at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:661)

    at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:294)

    ... 39 more





org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.

    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)

    at org.eclipse.birt.report.utility.BirtUtility.makeAxisFault(BirtUtility.java:761)

    at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:94)

    at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.doService(FramesetFragment.java:222)

    at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:86)

    at org.eclipse.birt.report.servlet.ViewerServlet.__doGet(ViewerServlet.java:181)

    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:278)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

    at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.hbsp.cl.report.web.SessionFilter.doFilter(SessionFilter.java:48)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

    at java.lang.Thread.run(Thread.java:662)

Caused by: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report.

    at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1106)

    at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1553)

    at org.eclipse.birt.report.service.BirtViewerReportService.renderReport(BirtViewerReportService.java:369)

    at org.eclipse.birt.report.service.actionhandler.BirtRenderReportActionHandler.__execute(BirtRenderReportActionHandler.java:65)

    at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)

    ... 35 more

Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.

    at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2248)

    at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:298)

    at org.eclipse.birt.report.service.ReportEngineService.renderReport(ReportEngineService.java:1547)

    ... 38 more

Caused by: java.lang.NullPointerException

    at org.eclipse.birt.report.engine.layout.LayoutUtil.contains(LayoutUtil.java:187)

    at org.eclipse.birt.report.engine.layout.LayoutUtil.isHiddenByVisibility(LayoutUtil.java:142)

    at org.eclipse.birt.report.engine.layout.LayoutUtil.isHidden(LayoutUtil.java:105)

    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.handleVisibility(HTMLAbstractLM.java:368)

    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:123)

    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

    at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)

    at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)

    at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:661)


    at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:294)

2 个答案:

答案 0 :(得分:0)

确保您的CSV发射器插件正确,否则只需更换此发射器view & download

答案 1 :(得分:0)

抛出NPE是因为发射器的输出格式为空。

您需要更新发射器代码(CSVReportEmitter.java)并覆盖该方法并重建发射器。

public String getOutputFormat() {

    return "csv";
}