DOCX

database_to_execl

By Frances Ward,2014-05-10 13:13
8 views 0
database_to_execl

    package com.jn.util.file.office;

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;

    import java.sql.SQLException;

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

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

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

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

    /***

     * 将数据库中的数据导出成Excel

     * @author 江南

     * @create time 2008.11.3

     * @see

     * 说明;该类是在apachepoi组件来实现的

     * 用户只要提供给writeExcel方法文件名;表头名,和一个ResultSet对象我们就可以

     * 实现帮你写成 excel文件格式

     *

     */

    public class ExcelFile {

     /**

     * Excel操作

     * @param fileName

     * 文件名;文件要写入到的盘符和文件名;但不需要后缀名

     * @param fieldName

     * 表头名

     * @param res

     * 数据对象,java.sql.ResultSet

     */

     public static void writeExcel(String fileName,String [] fieldName,java.sql.ResultSet

    res)

     {

     FileOutputStream fos =null;

     try {

     fos = new FileOutputStream(fileName+".xls");

     HSSFWorkbook wb = new HSSFWorkbook();

     HSSFSheet s = wb.createSheet();

     createTag(fieldName,s);//写表格的头部

     createValue(res,s);//获取数据集;然后获得数据;写文件

     wb.write(fos);

     fos.close();

     } catch (FileNotFoundException e) {

     e.printStackTrace();

     } catch (IOException e) {

     e.printStackTrace();

     }

     finally

     {

     if(fos!=null)

     {

     try {

     fos.close();

     } catch (IOException e) {

     // TODO Auto-generated catch block

     e.printStackTrace();

     }

     }

     }

     }

     /**

     * 创建表格表头

     * @param tags

     * @param s

     */

     private static void createTag(String [] tags,HSSFSheet s)

     {

     HSSFRow row = s.createRow(0);

     HSSFCell cell = null;

     for(int i=0;i

     {

     cell = row.createCell(i);

     cell.setCellValue(tags[i]);

     }

     }

     /**

     * 设置表格内容

     * @param res

     * @param s

     */

     private static void createValue(java.sql.ResultSet res,HSSFSheet s)

     {

     try {

     int flag = 1;

     int count = res.getMetaData().getColumnCount();

     HSSFRow row = null;

     HSSFCell cell = null;

     while(res.next())

     {

     row = s.createRow(flag);

     for(int i=1;i<=count;i++)

     {

     cell = row.createCell(i-1);

     Object obj = res.getObject(i);

     cell.setCellValue(obj+"");

     }

     flag++;

     }

     } catch (SQLException e) {

     e.printStackTrace();

     }

     }

}

Report this document

For any questions or suggestions please email
cust-service@docsford.com