web-dev-qa-db-ja.com

Excelセルの複数行テキスト

Excelのセルに複数行のテキストを書き込もうとしています。

cell.setCellValue("line1 \n line2");

しかし、ドキュメントを開くと、編集のためにダブルクリックするまで1行しか表示されず、2行になります。なぜそうですか?ありがとう

32
Timofei Davydik

2行のテキストに対応するには、行の高さを設定する必要があります。

row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));

新しい行を取得するには、wrap text = trueを設定する必要があります。これを試してください:ここでwbはWorkbookです。

 CellStyle cs = wb.createCellStyle();
 cs.setWrapText(true);
 cell.setCellStyle(cs);
52
vikiiii

この質問に対する受け入れられた回答に従った後、3番目のステップを含める必要があることがわかりました。すべてのデータを追加した後、列のサイズを自動調整する必要があります。

列2が気になると仮定します

sheet.autoSizeColumn(2);

コンテキストについては、Apacheの this の例を参照してください。 Java 8、poi-3.15.jar、およびExcel for Macで動作します。

1
Ed Norris