导入jar包,一般只操作xls文件时导入poi.version.date.jar包就可以
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet(“学生表一”);
// 第三步,在sheet中添加表头第0行
HSSFRow row = sheet.createRow(0);
// 第四步设置单元格样式
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
// 创建表头字段
//方法一:
HSSFCell 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);
//方法一:
Class<?> c = Class.forName(“com.entity.Entity”);
Field[] fields = c.getDeclaredFields();
int i = 0;
for (Field field : fields) {
cell = row.createCell(i);
cell.setCellValue(field.getName());
cell.setCellStyle(style);
i++;
}
// 第五步,写入实体数据 实际应用中这些数据从数据库得到
ArrayList<?> list = (ArrayList<?>) new EntityList().getStudents(); //获取数据集合
for (int i = 0; i < list.size(); i++)
{
row = sheet.createRow(i + 1);
Student stu = (Student) list.get(i);
row.createCell(0).setCellValue(stu.getId()); // 创建单元格,并设置值
row.createCell(1).setCellValue(stu.getName());
row.createCell(2).setCellValue(stu.getAge());
cell = row.createCell(3).setCellValue(new SimpleDateFormat(“yyyy-mm-dd”).format(stu.getBirth())); }
// 第六步,将文件存到指定位置
FileOutputStream fout = new FileOutputStream(“E:/students.xls”);
wb.write(fout);
fout.close();