我正在使用 POI
将数据附加到现有的 excel。但是在附加数据时,在编辑之前已经存在的 excel 标题被压缩到小区域。有人可以建议我如何避免这种情况吗?我什至在附加数据后应用了 autoSize
,但没有用。
FileInputStream inputStream = new FileInputStream(new File("dataexcel.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(intputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
int rowNum = sheet.getPhysicalNumberOfRows();
int cellNum = 1;
Row lastRow = sheet.createRow(rowNum);
for(int i =0 ; i<7; i++)
{
Cell cell = lastRow.createCell(cellNum++);
cell.setCellValue(value);
cell.setCellStyle(generalStyle);
}
假设标题有一个长文本,如 "This is very long text"
并将 7 个值 (2,3,1,7,4,6,5) 附加到现有的 excel 中每个单元格到下一行,如上所示。然后,enitre 列的宽度缩小到这些单个数字的值,并且标题的文本几乎不可见,直到手动展开。
最佳答案
使用 autoSizeColumn()
方法?
您的工作表示例如下
+----------+----------+----------+-------------+
| Column A | Column B | Column C | Column D |
+----------+----------+----------+-------------+
| xxx | xxx |This is very long text |
| | | | |
+----------+----------+----------+-------------+
如果是这样,为 Column c
设置自动列大小,sheet.autoSizeColumn(2);
。结果将是
+----------+----------+------------------------+-------------+
| Column A | Column B | Column C | Column D |
+----------+----------+------------------------+-------------+
| xxx | xxx |This is very long text |
| | | | |
+----------+----------+------------------------+-------------+
关于java - 使用 poi 自动调整列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004483/