web-dev-qa-db-ja.com

JAVA + POI API Excel-列の幅を増やす必要があります

Excelシートの列の幅を広げたいのですが。私はトラフコードを書いているので長いです。フルテキストを表示するには、列を手動でドラッグする必要があります。

これは私がしました -

HSSFRow dataRow = sampleDataSheet.createRow(0);

HSSFCellStyle cellStyle = setHeaderStyle(sampleWorkbook);

cellStyle.setWrapText(true);

***sampleDataSheet.autoSizeColumn(1000000);***

しかし、何も変更しません。

9
smriti

これはうまくいくはずです。しかしながら、

sampleDataSheet.autoSizeColumn(1000000);

列1000000を自動拡張します。

列0(最初の列)を自動拡張する場合は、以下を使用します。

sampleDataSheet.autoSizeColumn(0);

列0から9(最初の10列)を自動拡張するには:

for (int i=0; i<10; i++){
   sampleDataSheet.autoSizeColumn(i);
}

また、autoSizeColumnを呼び出す前に、すべての行を作成して内容を最初に入力する必要があります(列が最も広い幅の値の幅を取得するようにするため)。

(列幅を固定値に設定する場合は、代わりにHSSFSheet.setColumnWidth(int、int)を使用してください。)

18
// We can set column width for each cell in the sheet        
sheet.setColumnWidth(0, 1000);
sheet.setColumnWidth(1, 7500);
sheet.setColumnWidth(2, 7500);

// By applying style for cells we can see the total text in the cell for specified width
HSSFCellStyle cellStyle = workBook.createCellStyle();
cell.setCellStyle(cellStyle );
cellStyle.setWrapText(true);
12
swamy