legacy-knowledge-base
公開されました Jul. 2, 2025

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

learn-legacy-article-disclaimer-text

問題

  • 非常に長いフォームのエントリを Excel (xls) 形式にエクスポートしようとすると、ログに次のエラーが表示されてエクスポートに失敗します。
  • 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

解決策

  • これは、 に 256 を超える列が含まれるフォームで発生します。 Excel 97 以前のバージョンと互換性のある Excel シート (.xls ファイル) には、最大 256 列を含めることができます。 Liferay (Apache POI) で使用されるライブラリはその制限を認識しており、それらの境界外の列が作成された場合に例外をスローします。 したがって、これはそのバージョンの Excel ファイル形式の制限です。 そして、その制限は Liferay 製品にも反映されます。
  • フォームを短縮できず、Excel 形式でエクスポートすることが非常に重要な場合は、カスタム モジュールを作成して、エクスポート プロセスで新しい Excel ファイル形式 (.xlsx) を使用することができます。これにより、より多くの列を使用できます。 あくまでも参考として、クラス DDMFormInstanceRecordXLSWriter.java をモデルとして使用することをお勧めします。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base