将查询的记录导出成excel表(poi)

POI主要对象

POI对象名称 对应的Excel对象
HSSFWorkbook 工作簿
HSSFSheet 工作表
HSSFRow
HSSFCell 单元格

poi与将查询结果集组合一起使用,具体代码如下:

public static void resultSetToExcel(ResultSet rs,String xlsName,String sheetName) throws Exception{
        HSSFWorkbook workbook=new HSSFWorkbook();//创建一个excel文件
        HSSFSheet sheet=workbook.createSheet();//创建一个工作表
        workbook.setSheetName(0, sheetName);//设置工作表的名称
        HSSFRow row=sheet.createRow((short)0);//在这个工作表中创建一行
        HSSFCell cell;
        ResultSetMetaData md=rs.getMetaData();//得到数据表的字段
        int nColumn=md.getColumnCount();//得到字段数量
        //写入各个字段的名称
        for(int i=1;i<=nColumn;i++){
            cell=row.createCell((short)(i-1));//创建一个单元格
            cell.setCellType(HSSFCell.CELL_TYPE_STRING);//设置这个单元格的数据类型
            cell.setCellValue(md.getColumnLabel(i));//设置这个单元格的值
        }

        int iRow=1;
        //写入各条记录,每条记录对应Excel中的一行
        while(rs.next()){
            row=sheet.createRow((short)iRow);//创建第iRow行
            for(int j=1;j<=nColumn;j++){
                cell=row.createCell((short)(j-1));//创建一个单元格
                cell.setCellType(HSSFCell.CELL_TYPE_STRING);//设置这个单元格的数据类型
                cell.setCellValue(rs.getObject(j).toString());//得到数据并存储在单元格中
            }
            iRow++;
        }
        FileOutputStream fOut=new FileOutputStream(xlsName+".xls");
        workbook.write(fOut);
        fOut.flush();
        fOut.close();
        JOptionPane.showMessageDialog(null, "导出数据成功!");
    }

导出的*xls文件在工程的根目录下

你可能感兴趣的:(JavaSE)