7

ColdFusion を使用して、かなり少数の行 (約 1000) と多数の列 (約 300) を Excel にエクスポートしています。これは、多数の列を持つシートが少なくとも 2 つある複数シートの Excel ファイルです。を使用cfspreadsheetすると、Java ヒープ エラーがスローされます。JVM 設定値を更新しても改善されません。Java ヒープ エラーを発生させずに Excel にエクスポートする最良の方法は何ですか?

編集: プログラム内で問題を解決する方法をいくつか試しました。複数のシートを構築し、cfcontent を使用して結果をレンダリングするために、cfsavecontent 内で xml Workbook を使用しています。この場合、cfcontent が大量のメモリを使用しているため、ヒープ スペース エラーが発生している可能性があります。

<cfsavecontent variables="REQUEST.xmlData">
<cfoutput>
<xml version="1.0"?>
<?mso-application progid="Excel.sheet"?>
<Workbook>
   ...other contents
</Workbook>
</cfoutput>
</cfsavecontent>

2 番目の回避策として、querynew を使用してコンテンツを作成し、最終結果を Excel にダンプし<Cfspreadsheet action="write">ます。以降のシートでは、 を使用して<cfspreadsheet action="update">います。最終的な目標は、を使用して Excel を提供することです<cflocation url="excelPath">が、この場合、cfspreadsheet の更新に時間がかかり、メモリ不足エラーが発生します。

jvm の更新がオプションでない場合、メモリの問題を克服するために実装する他の方法を提案してください。

4

1 に答える 1