Alex的空间

我们一直在努力....

POI-EXCEL

标签: POI EXCEL
java 代码
  1. package com.tkqd.util.poi;   
  2.   
  3. import java.io.FileNotFoundException;   
  4. import java.io.FileOutputStream;   
  5. import java.io.IOException;   
  6.   
  7. import org.apache.log4j.Logger;   
  8. import org.apache.poi.hssf.usermodel.HSSFCell;   
  9. import org.apache.poi.hssf.usermodel.HSSFRow;   
  10. import org.apache.poi.hssf.usermodel.HSSFSheet;   
  11. import org.apache.poi.hssf.usermodel.HSSFWorkbook;   
  12. import org.apache.poi.hssf.util.HSSFCellUtil;   
  13. import org.apache.poi.ss.usermodel.CellStyle;   
  14. import org.apache.poi.ss.usermodel.Font;   
  15. import org.apache.poi.ss.util.CellRangeAddress;   
  16.   
  17. /**
  18.  * 描述:Excel写操作帮助类  
  19.  * @author ALEX  
  20.  * @since 2010-11-24  
  21.  * @version 1.0v  
  22.  */  
  23. public class ExcelUtil {   
  24.  private static final Logger log=Logger.getLogger(ExcelUtil.class);   
  25.  /**
  26.   * 功能:将HSSFWorkbook写入Excel文件  
  27.   * @param  wb  HSSFWorkbook  
  28.   * @param  absPath 写入文件的相对路径  
  29.   * @param  wbName 文件名  
  30.   */  
  31.  public static void writeWorkbook(HSSFWorkbook wb,String fileName){   
  32.   FileOutputStream fos=null;   
  33.   try {   
  34.    fos=new FileOutputStream(fileName);   
  35.    wb.write(fos);   
  36.   } catch (FileNotFoundException e) {   
  37.    log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));   
  38.   } catch (IOException e) {   
  39.    log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));   
  40.   } finally{   
  41.    try {   
  42.     if(fos!=null){   
  43.      fos.close();   
  44.     }   
  45.    } catch (IOException e) {   
  46.     log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));   
  47.    }   
  48.   }   
  49.  }   
  50.  /**
  51.   * 功能:创建HSSFSheet工作簿  
  52.   * @param  wb HSSFWorkbook  
  53.   * @param  sheetName String  
  54.   * @return HSSFSheet  
  55.   */  
  56.  public static HSSFSheet createSheet(HSSFWorkbook wb,String sheetName){   
  57.   HSSFSheet sheet=wb.createSheet(sheetName);   
  58.   sheet.setDefaultColumnWidth(12);   
  59.   sheet.setGridsPrinted(false);   
  60.   sheet.setDisplayGridlines(false);   
  61.   return sheet;   
  62.  }   
  63.  /**
  64.   * 功能:创建HSSFRow  
  65.   * @param  sheet HSSFSheet  
  66.   * @param  rowNum int  
  67.   * @param  height int  
  68.   * @return HSSFRow  
  69.   */  
  70.  public static HSSFRow createRow(HSSFSheet sheet,int rowNum,int height){   
  71.   HSSFRow row=sheet.createRow(rowNum);   
  72.   row.setHeight((short)height);   
  73.   return row;   
  74.  }   
  75.  /**
  76.   * 功能:创建CellStyle样式  
  77.   * @param  wb    HSSFWorkbook   
  78.   * @param  backgroundColor 背景色   
  79.   * @param  foregroundColor 前置色  
  80.   * @param font   字体  
  81.   * @return CellStyle  
  82.   */  
  83.  public static CellStyle createCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){   
  84.   CellStyle cs=wb.createCellStyle();   
  85.   cs.setAlignment(halign);   
  86.   cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER);   
  87.   cs.setFillBackgroundColor(backgroundColor);   
  88.   cs.setFillForegroundColor(foregroundColor);   
  89.   cs.setFillPattern(CellStyle.SOLID_FOREGROUND);   
  90.   cs.setFont(font);   
  91.   return cs;   
  92.  }   
  93.  /**
  94.   * 功能:创建带边框的CellStyle样式  
  95.   * @param  wb    HSSFWorkbook   
  96.   * @param  backgroundColor 背景色   
  97.   * @param  foregroundColor 前置色  
  98.   * @param font   字体  
  99.   * @return CellStyle  
  100.   */  
  101.  public static CellStyle createBorderCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){   
  102.   CellStyle cs=wb.createCellStyle();   
  103.   cs.setAlignment(halign);   
  104.   cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER);   
  105.   cs.setFillBackgroundColor(backgroundColor);   
  106.   cs.setFillForegroundColor(foregroundColor);   
  107.   cs.setFillPattern(CellStyle.SOLID_FOREGROUND);   
  108.   cs.setFont(font);   
  109.   cs.setBorderLeft(CellStyle.BORDER_DASHED);   
  110.   cs.setBorderRight(CellStyle.BORDER_DASHED);   
  111.   cs.setBorderTop(CellStyle.BORDER_DASHED);   
  112.   cs.setBorderBottom(CellStyle.BORDER_DASHED);    
  113.   return cs;   
  114.  }   
  115.  /**
  116.   * 功能:创建CELL  
  117.   * @param  row  HSSFRow   
  118.   * @param  cellNum int  
  119.   * @param  style HSSFStyle  
  120.   * @return HSSFCell  
  121.   */  
  122.  public static HSSFCell createCell(HSSFRow row,int cellNum,CellStyle style){   
  123.   HSSFCell cell=row.createCell(cellNum);   
  124.   cell.setCellStyle(style);   
  125.   return cell;   
  126.  }   
  127.  /**
  128.   * 功能:合并单元格  
  129.   * @param  sheet  HSSFSheet  
  130.   * @param  firstRow int  
  131.   * @param  lastRow  int  
  132.   * @param  firstColumn int  
  133.   * @param  lastColumn int  
  134.   * @return int   合并区域号码  
  135.   */  
  136.  public static int mergeCell(HSSFSheet sheet,int firstRow,int lastRow,int firstColumn,int lastColumn){   
  137.   return sheet.addMergedRegion(new CellRangeAddress(firstRow,lastRow,firstColumn,lastColumn));    
  138.  }   
  139.  /**
  140.   * 功能:创建字体  
  141.   * @param  wb   HSSFWorkbook   
  142.   * @param  boldweight short  
  143.   * @param  color  short  
  144.   * @return Font   
  145.   */  
  146.  public static Font createFont(HSSFWorkbook wb,short boldweight,short color,short size){   
  147.   Font font=wb.createFont();   
  148.   font.setBoldweight(boldweight);   
  149.   font.setColor(color);   
  150.   font.setFontHeightInPoints(size);   
  151.   return font;   
  152.  }   
  153.  /**
  154.   * 设置合并单元格的边框样式  
  155.   * @param sheet HSSFSheet   
  156.   * @param  ca  CellRangAddress  
  157.   * @param  style CellStyle  
  158.   */  
  159.  public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress ca,CellStyle style) {    
  160.      for (int i = ca.getFirstRow(); i <= ca.getLastRow(); i++) {    
  161.          HSSFRow row = HSSFCellUtil.getRow(i, sheet);    
  162.          for (int j = ca.getFirstColumn(); j <= ca.getLastColumn(); j++) {    
  163.              HSSFCell cell = HSSFCellUtil.getCell(row, j);    
  164.              cell.setCellStyle(style);    
  165.          }    
  166.      }    
  167.  }    
  168. }   

附件:


    评分: 请先登录再投票,同一篇博客一月只能投票一次!
    无人投票

相关博客:


评论


发表评论

关注此文的人们还关注