poi 导出excel2

   

003 import java.io.FileNotFoundException;  

004 import java.io.FileOutputStream;  

005 import java.io.IOException;  

006    

007 import org.apache.log4j.Logger;  

008 import org.apache.poi.hssf.usermodel.HSSFCell;  

009 import org.apache.poi.hssf.usermodel.HSSFRow;  

010 import org.apache.poi.hssf.usermodel.HSSFSheet;  

011 import org.apache.poi.hssf.usermodel.HSSFWorkbook;  

012 import org.apache.poi.hssf.util.HSSFCellUtil;  

013 import org.apache.poi.ss.usermodel.CellStyle;  

014 import org.apache.poi.ss.usermodel.Font;  

015 import org.apache.poi.ss.util.CellRangeAddress;  

016    

017 /**  

018  * 描述:Excel写操作帮助类  

019  * @author  ALEX  

020  * @since   2010-11-24  

021  * @version 1.0v  

022  */ 

023 public class ExcelUtil {  

024     private static final Logger log=Logger.getLogger(ExcelUtil.class);  

025     /**  

026      * 功能:将HSSFWorkbook写入Excel文件  

027      * @param   wb      HSSFWorkbook  

028      * @param   absPath 写入文件的相对路径  

029      * @param   wbName  文件名  

030      */ 

031     public static void writeWorkbook(HSSFWorkbook wb,String fileName){  

032         FileOutputStream fos=null;  

033         try {  

034             fos=new FileOutputStream(fileName);  

035             wb.write(fos);  

036         } catch (FileNotFoundException e) {  

037             log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));  

038         } catch (IOException e) {  

039             log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));  

040         } finally{  

041             try {  

042                 if(fos!=null){  

043                     fos.close();  

044                 }  

045             } catch (IOException e) {  

046                 log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));  

047             }  

048         }  

049     }  

050     /**  

051      * 功能:创建HSSFSheet工作簿  

052      * @param   wb  HSSFWorkbook  

053      * @param   sheetName   String  

054      * @return  HSSFSheet  

055      */ 

056     public static HSSFSheet createSheet(HSSFWorkbook wb,String sheetName){  

057         HSSFSheet sheet=wb.createSheet(sheetName);  

058         sheet.setDefaultColumnWidth(12);  

059         sheet.setGridsPrinted(false);  

060         sheet.setDisplayGridlines(false);  

061         return sheet;  

062     }  

063     /**  

064      * 功能:创建HSSFRow  

065      * @param   sheet   HSSFSheet  

066      * @param   rowNum  int  

067      * @param   height  int  

068      * @return  HSSFRow  

069      */ 

070     public static HSSFRow createRow(HSSFSheet sheet,int rowNum,int height){  

071         HSSFRow row=sheet.createRow(rowNum);  

072         row.setHeight((short)height);  

073         return row;  

074     }  

075     /**  

076      * 功能:创建CellStyle样式  

077      * @param   wb              HSSFWorkbook      

078      * @param   backgroundColor 背景色   

079      * @param   foregroundColor 前置色  

080      * @param   font            字体  

081      * @return  CellStyle  

082      */ 

083     public static CellStyle createCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){  

084         CellStyle cs=wb.createCellStyle();  

085         cs.setAlignment(halign);  

086         cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  

087         cs.setFillBackgroundColor(backgroundColor);  

088         cs.setFillForegroundColor(foregroundColor);  

089         cs.setFillPattern(CellStyle.SOLID_FOREGROUND);  

090         cs.setFont(font);  

091         return cs;  

092     }  

093     /**  

094      * 功能:创建带边框的CellStyle样式  

095      * @param   wb              HSSFWorkbook      

096      * @param   backgroundColor 背景色   

097      * @param   foregroundColor 前置色  

098      * @param   font            字体  

099      * @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 } 

[文件] ExcelUtil.java ~ 5KB    下载(553)
view sourceprint?001 package com.tkqd.util.poi;  

002    

003 import java.io.FileNotFoundException;  

004 import java.io.FileOutputStream;  

005 import java.io.IOException;  

006    

007 import org.apache.log4j.Logger;  

008 import org.apache.poi.hssf.usermodel.HSSFCell;  

009 import org.apache.poi.hssf.usermodel.HSSFRow;  

010 import org.apache.poi.hssf.usermodel.HSSFSheet;  

011 import org.apache.poi.hssf.usermodel.HSSFWorkbook;  

012 import org.apache.poi.hssf.util.HSSFCellUtil;  

013 import org.apache.poi.ss.usermodel.CellStyle;  

014 import org.apache.poi.ss.usermodel.Font;  

015 import org.apache.poi.ss.util.CellRangeAddress;  

016    

017 /**  

018  * 描述:Excel写操作帮助类  

019  * @author  ALEX  

020  * @since   2010-11-24  

021  * @version 1.0v  

022  */ 

023 public class ExcelUtil {  

024     private static final Logger log=Logger.getLogger(ExcelUtil.class);  

025     /**  

026      * 功能:将HSSFWorkbook写入Excel文件  

027      * @param   wb      HSSFWorkbook  

028      * @param   absPath 写入文件的相对路径  

029      * @param   wbName  文件名  

030      */ 

031     public static void writeWorkbook(HSSFWorkbook wb,String fileName){  

032         FileOutputStream fos=null;  

033         try {  

034             fos=new FileOutputStream(fileName);  

035             wb.write(fos);  

036         } catch (FileNotFoundException e) {  

037             log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));  

038         } catch (IOException e) {  

039             log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));  

040         } finally{  

041             try {  

042                 if(fos!=null){  

043                     fos.close();  

044                 }  

045             } catch (IOException e) {  

046                 log.error(new StringBuffer("[").append(e.getMessage()).append("]").append(e.getCause()));  

047             }  

048         }  

049     }  

050     /**  

051      * 功能:创建HSSFSheet工作簿  

052      * @param   wb  HSSFWorkbook  

053      * @param   sheetName   String  

054      * @return  HSSFSheet  

055      */ 

056     public static HSSFSheet createSheet(HSSFWorkbook wb,String sheetName){  

057         HSSFSheet sheet=wb.createSheet(sheetName);  

058         sheet.setDefaultColumnWidth(12);  

059         sheet.setGridsPrinted(false);  

060         sheet.setDisplayGridlines(false);  

061         return sheet;  

062     }  

063     /**  

064      * 功能:创建HSSFRow  

065      * @param   sheet   HSSFSheet  

066      * @param   rowNum  int  

067      * @param   height  int  

068      * @return  HSSFRow  

069      */ 

070     public static HSSFRow createRow(HSSFSheet sheet,int rowNum,int height){  

071         HSSFRow row=sheet.createRow(rowNum);  

072         row.setHeight((short)height);  

073         return row;  

074     }  

075     /**  

076      * 功能:创建CellStyle样式  

077      * @param   wb              HSSFWorkbook      

078      * @param   backgroundColor 背景色   

079      * @param   foregroundColor 前置色  

080      * @param   font            字体  

081      * @return  CellStyle  

082      */ 

083     public static CellStyle createCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){  

084         CellStyle cs=wb.createCellStyle();  

085         cs.setAlignment(halign);  

086         cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER);  

087         cs.setFillBackgroundColor(backgroundColor);  

088         cs.setFillForegroundColor(foregroundColor);  

089         cs.setFillPattern(CellStyle.SOLID_FOREGROUND);  

090         cs.setFont(font);  

091         return cs;  

092     }  

093     /**  

094      * 功能:创建带边框的CellStyle样式  

095      * @param   wb              HSSFWorkbook      

096      * @param   backgroundColor 背景色   

097      * @param   foregroundColor 前置色  

098      * @param   font            字体  

099      * @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 } 


你可能感兴趣的:(poi,导出excel2)