execl中设置的格式无法实现
16lz
2021-01-22
在一次项目中,需要导出execl表,并且要给表中的表格设置格式,因为每列的格式都不一样,需要单独设置设置这些格式,在后期使用中因为导入的数据过多,是的后面的单元格中设置的格式无法实现。
每次打开execl表格时都会出现以下提示
打开execl后会出现格式问题
这是因为execl中单元格格式超出限制无法保存。
查看代码后发现,在代码中给每次出现不同的单元格式后都是创建了一个HSSFCellStyle对象。解决办法就是讲HSSFCellStyle对象进行封装,每次调用的都是同一个HSSFCellStyle对象,然后对这个对象中的格式进行设置
1 private HSSFCellStyle getCellStyleMode(HSSFCellStyle cellStyle, HSSFFont font, HSSFDataFormat format, int num) { 2 cellStyle.setBorderTop(BorderStyle.THIN); 3 cellStyle.setBorderBottom(BorderStyle.THIN); 4 cellStyle.setBorderLeft(BorderStyle.THIN); 5 cellStyle.setBorderRight(BorderStyle.THIN); 6 cellStyle.setAlignment(HorizontalAlignment.CENTER); 7 font.setFontName("Times New Roman"); 8 font.setFontHeightInPoints((short) 10); 9 cellStyle.setFont(font); 10 if (num == 1) { 11 cellStyle.setDataFormat(format.getFormat("#,##0.00")); 12 } else { 13 cellStyle.setDataFormat(format.getFormat("#,##0.0")); 14 } 15 return cellStyle; 16 }
更多相关文章
- Java常见对象之String
- 自定义MapReduce输入格式 - 找不到构造函数
- 来谈谈JAVA面向对象 - 鲁班即将五杀,大乔送他回家??
- 对一个JavaScript对象数组进行排序。
- java使用compareTo实现一个类的对象之间比较大小
- 在Java中,使用DefaultSelenium对象在selenium中启动测试,我如何找
- Java学习第9天(6):面向对象-多态-object
- Java时区转换与时间格式
- 如何在命令中传递对象参数?