Java导出Excel

/**
* HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
* XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
* HWPF - 提供读写Microsoft Word DOC格式档案的功能。
* HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
* HDGF - 提供读Microsoft Visio格式档案的功能。
* HPBF - 提供读Microsoft Publisher格式档案的功能。
* HSMF - 提供读Microsoft Outlook格式档案的功能。
* */


/**
* 获得数据库实体列表
* */
private static List<Student> getStudent() throws Exception {
List<Student> list = new ArrayList<Student>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Student stu1 = new Student(1, "张三", 16, sdf.parse("1997-03-12"));
Student stu2 = new Student(2, "李四", 17, sdf.parse("1996-08-12"));
Student stu3 = new Student(3, "王五", 26, sdf.parse("1985-11-12"));

list.add(stu1);
list.add(stu2);
list.add(stu3);

return list;
}

public static void main(String[] args) {
try {
//创建一个workbook,对应一个Excel文件
@SuppressWarnings("resource")
XSSFWorkbook workbook = new XSSFWorkbook();
//在workbook中添加一个sheet,对应Excel文件中的sheet
XSSFSheet sheet = workbook.createSheet("学生表一");
//在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
XSSFRow row = sheet.createRow(0);
//创建单元格,并设置值表头 设置表头居中
XSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

XSSFCell cell = row.createCell(0);
cell.setCellValue("学号");
cell.setCellStyle(style);

cell = row.createCell(1);
cell.setCellValue("姓名");
cell.setCellStyle(style);

cell = row.createCell(2);
cell.setCellValue("年龄");
cell.setCellStyle(style);

cell = row.createCell(3);
cell.setCellValue("出生日期");
cell.setCellStyle(style);

//写入实体数据 实际应用中这些数据从数据库得到
List<Student> list = SimpleExcelToDisk.getStudent();

for (int i = 0;i < list.size();i ++) {
row = sheet.createRow(i + 1);
Student stu = list.get(i);
row.createCell(0).setCellValue(stu.getId());
row.createCell(1).setCellValue(stu.getName());
row.createCell(2).setCellValue(stu.getAge());
row.createCell(3).setCellValue(new SimpleDateFormat("yyyy-MM-dd").format(stu.getBirth()));
}

//将文件存到指定位置


FileOutputStream fout = new FileOutputStream("E:/student.xlsx");
workbook.write(fout);
fout.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println("导出完毕");
}
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页