我试图用apache构建一个excell文件。 (HSSFWorkbook)
我无法弄清楚如何设置列宽。
请看以下示例:
第一列(A)的值为:"行号"我们无法看到整个字符串。 列(D)和(E)具有相同的问题,但如果我们双击它,我们可以看到完整的字符串。
我想创建用户不需要双击它的单元格。 我该怎么办?
答案 0 :(得分:4)
您可以使用autoSizecolumn()
根据标题设置列大小。
sheet.autoSizeColumn(0)// to adjust first column
请参阅此link。这会有所帮助......
要设置所有可用列,请使用for
循环
for(int colNum = 0; colNum<row.getLastCellNum();colNum++)
workbook.getSheetAt(0).autoSizeColumn(colNum);
答案 1 :(得分:1)
尝试在HSSFSheet对象上使用setColumnWidth()方法
sheet.setColumnWidth(0, 1000);
这需要比使用autoSizeColumn()更多的代码,但我发现在较新版本的Excel(2013)中打开生成的文件时可以忽略autoSizeColumn()。
答案 2 :(得分:1)
自动调整也可以使用
(来自帮助文件)
此示例更改Sheet1上的列A到I的宽度,以实现最佳匹配。
Worksheets("Sheet1").Columns("A:I").AutoFit
此示例仅根据单元格A1:E1的内容更改Sheet1上A列到E列的宽度,以达到最佳拟合。
Worksheets("Sheet1").Range("A1:E1").Columns.AutoFit
答案 3 :(得分:0)
Sheet sheet = workbook.getSheetAt(0);
sheet.autoSizeColumn(0); //adjust width of the first column
sheet.autoSizeColumn(1); //adjust width of the second column