利用poi生成excell文件

首先创建一个实体类与数据库查询出来的字段对应
package entity;
/**
* 学生实体类
* @author Administrator
*
*/
public class Student {
private int id;
private String name;
private String sex;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Student(int id, String name, String sex, int age) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}
public Student() {
super();
}

}
第二步创建一个利用jdbc连接数据库的工具 类
package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import entity.Student;

/**
* 连接数据库的类
* @author Administrator
*
*/
public class StudentDao {
public List queryStudentList(){
List list=new ArrayList();
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
String url=”jdbc:oracle:thin:@localhost:1521:xe”;
String user=”liujing”;
String password=”liujing”;
String sql=”select id,name,sex,age from student”;
try {
//加载驱动
Class.forName(“oracle.jdbc.driver.OracleDriver”);
//获得连接
conn=DriverManager.getConnection(url,user,password);
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
Student stu=null;
while(rs.next()){
stu=new Student();
stu.setId(rs.getInt(“id”));
stu.setName(rs.getString(“name”));
stu.setSex(rs.getString(“sex”));
stu.setAge(rs.getInt(“age”));
list.add(stu);
}

} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}finally{
    if(rs!=null){
        try {
            rs.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    if(ps!=null){
        try {
            ps.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    if(conn!=null){
        try {
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
     return list;
}

}
}
第三部生成excell文件的工具类
package util;

import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;

import entity.Student;

/**
* 生成excell文件的工具类
* @author Administrator
*
*/
public class ExcellUtil {
public static void createExcell(OutputStream out,List list,String title,String[] headers){
//创建一个WorkBook
HSSFWorkbook workbook=new HSSFWorkbook();
//创建一个sheet页
HSSFSheet sheet=workbook.createSheet(title);
//设置sheet的默认列宽
sheet.setDefaultColumnWidth(14);
//设置标题样式
HSSFCellStyle titleStyle=workbook.createCellStyle();
titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//设置标题的字体
HSSFFont font=workbook.createFont();
font.setBoldweight((short)10);
titleStyle.setFont(font);
//产生标题行
HSSFRow row=sheet.createRow(0);
HSSFCell cell=row.createCell(0);
cell.setCellStyle(titleStyle);
cell.setCellValue(title);
//合并单元格
sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
row=sheet.createRow(1);
for(int i=0;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值