2011-07-01 55 views
3

我用下面的方法来设置XSSF表格中默认的列样式?但这不起作用任何人都可以提出错误修复。XSSF Apache POI

format = workbook.createDataFormat(); 
style = workbook.createCellStyle(); 
style.setDataFormat(format.getFormat("@")); 
sheet.setDefaultColumnStyle(1, style); 

回答

1

很可能this bug正在让你头痛。用Apache POI 3.7试用你的代码我得到了第二列隐藏的效果(宽度= 0),并且格式不适用。

干杯, 维姆

PS请注意,我谈谈列,这是你的代码是真正指的;如果您想将样式应用于第一列,则应该使用0(从零开始)。

+0

我使用SXSSFWorkbook流实例有POI-3.9-20121203.jar。使用sheet.setDefaultColumnStyle函数仍然不起作用。所有列都保持隐藏在Excel中,并且没有应用样式。解决方法是cell.setCellStyle()函数。它猜测它在.xlsx xml中为每个单元格引用重复(?)样式数据使文件大于应该。不确定的想法。它无助于使用HSSFDataFormat.getBuiltinFormat()getter。默认的columnstyle setter可能适用于较旧的非流式HSSFworkbook对象。 – Whome

0

试试这个它会工作:

 style.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));