Legacy Knowledge Base
Published Jul. 2, 2025

Limitation in the number of fields in a Form when exporting to Excel (XLS)

Written By

Katalin Györgyövics

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

Issue

  • When I want to export the entries for a very long form to Excel (xls) format, exporting fails with the below error in the log.
  • ERROR [http-nio-8080-exec-97][PortletServlet:119] javax.portlet.PortletException: com.liferay.dynamic.data.mapping.exception.FormInstanceRecordExporterException: java.lang.IllegalArgumentException: Invalid column index (256). Allowable column range for BIFF8 is (0..255) or ('A'..'IV')
    javax.portlet.PortletException: com.liferay.dynamic.data.mapping.exception.FormInstanceRecordExporterException: java.lang.IllegalArgumentException: Invalid column index (256). Allowable column range for BIFF8 is (0..255) or ('A'..'IV')

Environment

  • Liferay DXP 7.2

Resolution

  • This happens with forms that contains more than 256 columns. Excel sheets that are compatible with Excel 97 and previous versions (.xls files) can have a maximum of 256 columns. The library used in Liferay (Apache POI) is aware of that limitation and throws an exception if a column outside those bounds are created. So, this is a limitation of the Excel file format for that version. And that limitation propagates to the Liferay product.
  • In case the form cannot be shortened and exporting it in Excel format is of high importance, a custom module can be created to make the export process use the newer Excel file format (.xlsx), which will allow for considerably more columns. As a guidance only, we suggest using class DDMFormInstanceRecordXLSWriter.java as a model.

Additional Information

 

Did this article resolve your issue ?

Legacy Knowledge Base