Excelのセルに複数行のテキストを書き込もうとしています。
cell.setCellValue("line1 \n line2");
しかし、ドキュメントを開くと、編集のためにダブルクリックするまで1行しか表示されず、2行になります。なぜそうですか?ありがとう
2行のテキストに対応するには、行の高さを設定する必要があります。
row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));
新しい行を取得するには、wrap text = true
を設定する必要があります。これを試してください:ここでwbはWorkbook
です。
CellStyle cs = wb.createCellStyle();
cs.setWrapText(true);
cell.setCellStyle(cs);
この質問に対する受け入れられた回答に従った後、3番目のステップを含める必要があることがわかりました。すべてのデータを追加した後、列のサイズを自動調整する必要があります。
列2が気になると仮定します
sheet.autoSizeColumn(2);
コンテキストについては、Apacheの this の例を参照してください。 Java 8、poi-3.15.jar、およびExcel for Macで動作します。