2013-01-24 14 views
7

ストリーミングSXSSFWorkbookのautoSizeColumnsは可能ですか? 私はエクセルにオブジェクトのリストをエクスポートするエクスポート機能を実装しました。最初はXSSFWorkbook(ストリーミングではない)を使用し、すべてのセルを作成した後、すべての列を自動化して、優れたExcelファイルを作成しました。SXSSFWorkbookのAutosizeColumns

パフォーマンスの問題については、ワークブックをストリーミングバージョンに変更したいが、その結果、org.apache.poi.ss.util.SheetUtil.getCellWidthのNullPointerが発生した。

SXSSFWorkbookに対してautoSizeColumnsを呼び出すことはできますか?

私はpooxox 3.9を使用していますが、私は3.8でも同じ問題があります。

答えて

8

すべてのセルに値が設定されていることを確認する必要があります。

私たちは、セルに文字列値を設定するには、次のコードを使用します。

Cell c = row.createCell(i); 
c.setCellValue(text == null ? "" : text); 
+0

これは、おかげで多くの解決策でした! – sterym

+2

poi 3.14のストリーミングAPIを使用しましたが、「自動サイズできませんでした」列が見つかりました。列を自動サイズ変更する前に列が追跡されていることを確認してください。私がautoSizeColumnを呼び出したとき。あなたはこれまでに会ったことがありますか? –

+8

私もこのエラーがありました、liam xu。 autoSizeColumn(columnIndex)を呼び出す前にSXSSFSheetオブジェクトのtrackAllColumnsForAutoSizing()を呼び出すと、修正されます。 – superbAfterSemperPhi

関連する問題