I've made a report to export some data to csv, containing text fields with width 20 and Stretch With Overflow on.
When a text field contains a tab character I get the following exception:
java.lang.ArrayIndexOutOfBoundsException: 0
at net.sf.jasperreports.engine.util.ParagraphUtil.getFirstTabStop(ParagraphUtil.java:208) at net.sf.jasperreports.engine.fill.TextMeasurer.renderNextLine(TextMeasurer.java:1023) at net.sf.jasperreports.engine.fill.TextMeasurer.renderParagraph(TextMeasurer.java:717) at net.sf.jasperreports.engine.fill.TextMeasurer.measure(TextMeasurer.java:416) at net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:504) at net.sf.jasperreports.engine.fill.JRFillTextField.prepare(JRFillTextField.java:593) at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:328) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:377) at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:351) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2039) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:771) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:301) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:148) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Possible workarounds are:
* Make the width of the text field bigger than 40
* Decrease net.sf.jasperreports.default.tab.stop.width, the default value is 40
* Avoid tabs by changing the query: change "field" into "replace(field, CHR(9))"
These people have the same issue:
* http://community.jaspersoft.com/questions/541156/preview-error-412-and-413-arrayindexoutofbounds
Recommended Comments