10

我想增加excel表格列的宽度。因为我正在编写槽代码很长。我需要手动拖动列才能看到全文。

我这样做了——</p>

HSSFRow dataRow = sampleDataSheet.createRow(0);

HSSFCellStyle cellStyle = setHeaderStyle(sampleWorkbook);

cellStyle.setWrapText(true);

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

但它没有改变任何东西..

4

3 回答 3

22

这应该有效。然而,

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)。)

于 2012-08-19T17:56:24.930 回答
14
// 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);
于 2012-08-22T06:20:05.053 回答
0

sheet.autoSizeColumn(columnNumber)作品。这会将列的大小调整为最大的单元格长度。

于 2015-04-30T19:01:01.537 回答