我正在使用 Apache POI API
生成 excel spreadsheet
输出一些数据。
我面临的问题是在创建和打开电子表格时,列不会展开,因此一些长文本(如日期格式的文本)乍一看不会显示出来。
我可以双击 excel 中的列边框以展开或拖动边框以调整列宽,但可能有 20 多列,我无法在每次打开电子表格时手动执行此操作:(
我发现(虽然可能是错误的方法) groupRow()
和 setColumnGroupCollapsed()
可能可以解决问题,但运气不好。也许我以错误的方式使用它。
示例代码片段
Workbook wb = new HSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
//create sheet
Sheet sheet = wb.createSheet("masatoSheet");
//not really working yet.... :(
//set group for expand/collapse
//sheet.groupRow(0, 10); //just random fromRow toRow argument values...
//sheet.setColumnGroupCollapsed(0, true);
//create row
Row row = sheet.createRow((short)0);
//put a cell in the row and store long text data
row.createCell(0).setCellValue("Loooooooong text not to show up first");
创建此电子表格时,“Looooooong text not to show up first”字符串位于单元格中,但由于该列未展开,因此仅显示“Loooooooo”。
我如何配置它以便当我打开我的电子表格时,该列已经展开???
原文由 Meow 发布,翻译遵循 CC BY-SA 4.0 许可协议
将所有数据添加到工作表 后,您可以在工作表上调用
autoSizeColumn(int column)
以将列自动调整为适当的大小这是 API 的链接。
有关更多参考,请参阅这篇文章 使用 apache poi 时将 excel 单元格大小调整为内容大小的问题