我们在基于Java的Web应用程序中使用Display tag library。
除了使用显示标记库显示列表之外,我们还使用它将数据导出到excel表,这样工作正常。
问题是数据包装在Excel工作表列中。
我需要单击单元格以展开单元格以查看完整数据。
有没有办法防止这种数据包裹? Excel工作表单元格可以根据其中的数据宽度自行调整吗?
答案 0 :(得分:2)
是单元格可以自动格式化,如果您使用POI与HSSF一起创建文档。 如果不是我建议您使用它只需打开现有文档并自动调整所需的列
后,您创建了所有单元格,但在保存文档之前,您只需调用此方法重新调整列大小。 例如,我对表格中的所有列都这样做了:
//
// Create an instance of workbook and sheet
//
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
sheet.setAutobreaks(true);
.
.//code in which you create actual rows and cells HERE
.
//auto formating to fit the page
for(int i=0; i<repModel.getReportHeaders().length;i++){
sheet.autoSizeColumn((short) (i+1));
}
以下是用于启动poi的最佳链接:Busy Developers' Guide to HSSF and XSSF Features
答案 1 :(得分:2)
看起来this blog entry讨论了DisplayTag的Excel导出机制,并向您展示了如何修改Excel导出以绑定到自定义HSSF表编写器。
总结:
那就是说,我正在查看DisplayTag 1.2中的源代码,它似乎已经在扩展自动调整大小的列(http://displaytag.sourceforge.net/1.2/displaytag-export-poi/xref /org/displaytag/render/HssfTableWriter.html#347)。您使用的是DisplayTag 1.2,还是使用的是早期版本?如果您使用的是早期版本,则升级到1.2可能会解决您的问题。或者我误解了你被“包裹”的数据意味着什么?
答案 2 :(得分:1)
如果您使用HSSF Poi生成Excel文档,那么您应该能够调整列宽: