关于poi3.17版本的一些格式设置操作问

最近在使用poi操作excel的时候遇到了一些问题,分享一下其中一些坑的点。

网上很多版本对于poi中样式中样式设置都是poi之前的操作,在poi3.17版本中并不能直接使用,自己给自己挖了一个大坑;

举个例子,在poi导出设置单元格样式的居中问题时候,网上大部分的操作代码如下:

    

  1. XSSFCellStyle cellStyle = wb.createCellStyle();   
  2. cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER); // 居中  
  3. cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//垂直 

但是使用 poi3.17版本的时候,系统会报没有 ALIGN_CENTER,VERTICAL_CENTER 这个参数,一开始以为是poi 3.17导的不完全,然后我就把所有的包都重新打了一遍,然后完全没有解决,网上百度解决方法,几乎找不动其他的方式,poi3.17的操作手册也并没有找到,最后终于在一位博主的分享中(感谢阿炳的博客园https://www.cnblogs.com/acm-bingzi/p/poi1.html。原文链接),找到了解决方案,实际实现代码如下:

 

  1. XSSFCellStyle cellStyle = wb.createCellStyle();   
  2. cellStylestyle.setAlignment(HorizontalAlignment.CENTER);// 居中  
  3. cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);;//垂直 

同时在设置边框时候,也有相应的同样问题,HSSFCellStyle 中同样报错没有其中的值

  1. cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框    
  2. cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框    
  3. cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框    
  4. cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框    

最后修改方案如下,接用BordyStyle中的值来修改;

  1. cellStyle.setBorderBottom(BorderStyle.THIN); //下边框    
  2. cellStyle.setBorderLeft(BorderStyle.THIN);//左边框    
  3. cellStyle.setBorderTop(BorderStyle.THIN);//上边框    
  4. cellStyle.setBorderRight(BorderStyle.THIN);//右边框    
供大家参考分享。

猜你喜欢

转载自blog.csdn.net/keith_walker/article/details/80481789
今日推荐