当前位置:软件学习 > Excel >>

POI操作excel示例工具类

由于近期项目要用到excel来转存页面中的表单数据,对poi操作excel进行了一番了解,写了以下,但总觉的不是很好
特此:发布在此供大家评论,广义集思,还望多多指教
   1. workBook处理类

[java] 
/**
 * Excel WorkBook工具类
 * @author dsy
 * @version 1.0
 */ 
public class ExcelWorkBook { 
     
    public HSSFWorkbook workbook = null; 
    public static HSSFWorkbook workbookTemp = null; 
    //设置当前workbookName 
    private String workbookName = null; 
    private HSSFSheet sheet = null; 
    private FileOutputStream fileOut; 
     
    public ExcelWorkBook() { 
        if(workbook != null) { 
            workbook = null; 
        } 
        workbook = workbookTemp; 
    } 
     
    public ExcelWorkBook(String workbookName) { 
        workbook = workbookTemp; 
        setWorkbookName(workbookName); 
    } 
    public String getWorkbookName() { 
        return workbookName; 
    } 
 
    public void setWorkbookName(String workbookName) { 
        workbookName = workbookName; 
    } 
 
    public HSSFSheet getSheet() { 
        sheet = workbook.createSheet(getWorkbookName()); 
        return sheet; 
    } 
     
    /**
     * 用于stylUtils的所需要的workbook必须项所做的处理
     * @return
     */ 
    public static HSSFWorkbook getWorkbook() { 
        return workbookTemp; 
    } 
 
    public static void setWorkbook(HSSFWorkbook workbook) { 
        workbookTemp = workbook; 
    } 
     
    /**
     * 输入当前WorkBook为下载临时文件记录
     * @param excelName
     */ 
    public void writerFileStream(String excelName) { 
        try { 
            fileOut = new FileOutputStream(excelName); 
            workbook.write(fileOut); 
        } catch (FileNotFoundException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } catch (IOException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } finally { 
            try { 
                fileOut.flush(); 
                fileOut.close(); 
                if(workbook != null) { 
                    workbook = null; 
                } 
            } catch (IOException e) { 
                // TODO Auto-generated catch block 
                e.printStackTrace(); 
            } 
        } 
    } 
     

   2. Excel Row工具类

[java]
/**
 * Excel Row工具类
 * @author dsy
 * @version 1.0
 */ 
public class ExcelSheetRow { 
     
     
    public ExcelSheetRow() { 
        // TODO Auto-generated constructor stub 
    } 
 
    public static HSSFSheet sheet = null; 
    /**
     * 设置当前Sheet名字
     */ 
    private static String sheetName = null; 
    private static HSSFRow row = null; 
     
     
    /**
     * 创建当前标题行
     * @param sheet
     * @return
     */ 
    public static HSSFRow createCurrSheetTitle(ExcelWorkBook work) { 
       HSSFSheet sheet = work.getSheet(); 
       row = sheet.createRow(0); 
       return row; 
    } 
     
    /**
     * 创建当前excel记录内容
     * @param sheet
     * @param i
     * @return
     */ 
    public static HSSFRow createCurrSheetRecord(ExcelWorkBook work,int i) { 
        HSSFSheet sheet = work.getSheet(); 
        row = sheet.createRow(i+1); 
        return row; 
    }  
 
    public static String getSheetName() { 
        return sheetName; 
    } 
 
    public static void setSheetName(String sheetName) { 
        ExcelSheetRow.sheetName = sheetName; 
    } 
 

3.  Excel Cell工具类

[java] 
/**
补充:软件开发 , Java ,

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,