關於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);//右邊框    
供大家參考分享。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章