Java 导出excel表 POI
package cn.ipanel;
import java.util.Date;
public class Student {
//创建学生对象
private int id;
private String name;
private int age;
private Date birth;
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public Student(int id, String name, int age, Date birth) {
// TODO Auto-generated constructor stub
this.id = id;
this.name = name;
this.age = age;
this.birth =birth;
}
public Student() {
// TODO Auto-generated constructor stub
}
}
package cn.ipanel;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
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.hssf.util.HSSFColor;
import com.sun.org.apache.xerces.internal.impl.dtd.models.DFAContentModel;
public class CreateSimpleExcelToDisk {
private static List<Student> getStudent()throws Exception{
List list = new ArrayList();
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
//new学生对象信息
Student user1 = new Student (1,"张三",19,df.parse("1991-11-18"));
Student user2 = new Student (2,"李四",19,df.parse("1984-09-02"));
Student user3 = new Student (3,"王五",19,df.parse("1923-04-06"));
Student user4 = new Student (4,"赵六",19,df.parse("1923-11-21"));
//添加到集合
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
return list;
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args)throws Exception {
//第一步,创建webbook,对应一个excel表格
HSSFWorkbook wb = new HSSFWorkbook();
//第二步,在webbook中添加一个sheet,对应excel文件中的sheet
HSSFSheet sheet = wb.createSheet("学生表");
//第三步,在sheet中添加表头的0行,注意老版本poi对excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
//第四步,创建单元格,并设置值表头,设置表头居中
HSSFCellStyle style = wb.createCellStyle();
//设置居中格式
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//生成一个字体
HSSFFont font=wb.createFont();
font.setColor(HSSFColor.BLACK.index);//HSSFColor.VIOLET.index //字体颜色
font.setFontHeightInPoints((short)12);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //字体增粗
font.setColor(HSSFColor.VIOLET.index);
//把字体应用到当前的样式
style.setFont(font);
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("学号");
cell.setCellStyle(style);
cell = row.createCell((short) 1);
cell.setCellValue("姓名");
cell.setCellStyle(style);
cell = row.createCell((short) 2);
cell.setCellValue("年龄");
cell.setCellStyle(style);
cell = row.createCell((short) 3);
cell.setCellValue("生日");
cell.setCellStyle(style);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,
List list = CreateSimpleExcelToDisk.getStudent();
System.out.println("开始写入excel表格");
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow((int) i+1);
Student stu = (Student)list.get(i);
row.createCell((short) 0).setCellValue((double) stu.getId());
row.createCell((short) 1).setCellValue(stu.getName());
row.createCell((short) 2).setCellValue((double) stu.getAge());
row.createCell((short) 3).setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu.getBirth()));
}
FileOutputStream fout = new FileOutputStream("E:/students.xls");
wb.write(fout);
fout.close();
System.out.println("写入完毕...");
}
}

浙公网安备 33010602011771号