Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Vaadin Spreadsheets with Charts Serious BUGS fix required asap
Hallo,
I have huge problems with vaadin spreadsheets and charts and I urgently need your help solving them.
Please read ISSUE 1 and 2.
ISSUE 1:
Please open the attached VaadinIssue1.xls with charts enabled and you will get the following exception.
It looks like whenever I create charts that refer to cells that do not contain any value, Vaadin completely crashes (see exception below).
Also if you add 3D Charts vaadin will crash again.
EXCEPTION:
java.lang.NullPointerException
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.calculateDecimalsForTooltip(AbstractSeriesReader.java:236)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.createSeriesDataPoints(AbstractSeriesReader.java:213)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.fillSeriesData(AbstractSeriesReader.java:100)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.BarSeriesReader.fillSeriesData(BarSeriesReader.java:65)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.BarSeriesReader.fillSeriesData(BarSeriesReader.java:34)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.createAndFillSeriesDataObject(AbstractSeriesReader.java:81)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.getSeries(AbstractSeriesReader.java:73)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.XSSFChartReader.readPlotData(XSSFChartReader.java:153)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.XSSFChartReader.readXSSFChart(XSSFChartReader.java:74)
at com.vaadin.addon.spreadsheet.charts.converter.DefaultChartCreator.createChart(DefaultChartCreator.java:29)
at com.vaadin.addon.spreadsheet.SheetChartWrapper.initContent(SheetChartWrapper.java:105)
at com.vaadin.addon.spreadsheet.SheetChartWrapper.getComponent(SheetChartWrapper.java:138)
at com.vaadin.addon.spreadsheet.Spreadsheet.addOverlayData(Spreadsheet.java:3210)
at com.vaadin.addon.spreadsheet.Spreadsheet.loadOrUpdateOverlays(Spreadsheet.java:3193)
at com.vaadin.addon.spreadsheet.Spreadsheet.loadCells(Spreadsheet.java:2988)
at com.vaadin.addon.spreadsheet.Spreadsheet.onSheetScroll(Spreadsheet.java:766)
at com.vaadin.addon.spreadsheet.SpreadsheetHandlerImpl.onSheetScroll(SpreadsheetHandlerImpl.java:57)
at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:408)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:79)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1409)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at nomitech.ces.webapp.LocaleFilter.doFilterInternal(LocaleFilter.java:78)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at nomitech.ces.valve.SessionFixationValve.invoke(SessionFixationValve.java:60)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:745)
ISSUE 2:
Open the attached file in the vaadin demo without charts and you will see that it completely destroys the colors and data is not visible. This is because it is Excel97 xls format. If I open it with Excel and save as later format it amazingly works, but if I export again from vaadin I am getting a warning in Excel.
Hi George,
As it's mentioned in Vaadin Spreadsheet Docs support for Excel 97 (.xls) files is limited.
Regarding the issue if it's reproducible with xlsx format please create an issue in https://github.com/vaadin/spreadsheet/issues/ , having small and simple examples where the issue is reproducible is best usually.
Thanks
Hi Guillermo,
I can leave with the second issue, I just converted to Excel2007 before and it works.
The first issue is very easy to reproduce, you just make a chart that uses an empty cell in one of its values and it crashes. Excel97 is unrelated with the issue. See attached VaadinIssue2.xls it is latest format.
It really doesnt matter if it is xls or xlsx the error as you can see happens while generating some tooltips for empty cells.
Probably not checking if the cell has a value?
Hi George,
I checked issues #392 and #393 and they seem to be fixed now. You can verify them using latest version 1.3.0.alpha1.
Hi Guillermo,
There is also an NPE related to charts in the following issue:
https://github.com/vaadin/spreadsheet/issues/397
The others are ok.