1. 程式人生 > >POI實現生成excel檔案

POI實現生成excel檔案

匯入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();