1.首先下载poi-3.6-20091214.jar,下载地址如下:http://download.csdn.net/detail/evangel_z/3895051
或者使用Maven仓库管理,在pom文件添加坐标
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</version> </dependency>
2.Member.java 创建一个实体对象
package com.leyooe.common.bean.customizedPRoperty;import java.util.Date;public class Member{ private Integer code; private String name; private Integer age; private Date birth; public Student(Integer code, String name, Integer age, Date birth) { super(); this.code = code; this.name = name; this.age = age; this.birth = birth;} public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } }3.CreateSimpleExcelToDisk.javapackage com.leyooe.otw.api.file;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.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import com.leyooe.common.bean.customizedproperty.Member; public class CreateSimpleExcelToDisk { /** * @功能:手工构建一个简单格式的Excel */ private static List<Member> getMember() throws Exception { List list = new ArrayList(); SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd"); Member user1 = new Member(1, "熊大", 24, df.parse("1993-08-28")); Member user2 = new Member(2, "熊二", 23, df.parse("1994-08-19")); Member user3 = new Member(3, "熊熊", 24, df.parse("1983-11-22")); list.add(user1); list.add(user2); list.add(user3); return list; } 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); // 创建一个居中格式 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.getMember(); for (int i = 0; i < list.size(); i++) { row = sheet.createRow((int) i + 1); Member stu = (Member) list.get(i); // 第四步,创建单元格,并设置值 row.createCell((short) 0).setCellValue((double) stu.getCode()); row.createCell((short) 1).setCellValue(stu.getName()); row.createCell((short) 2).setCellValue((double) stu.getAge()); cell = row.createCell((short) 3); cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu .getBirth())); } // 第六步,将文件存到指定位置 try { FileOutputStream fout = new FileOutputStream("E:/Members.xls"); wb.write(fout); fout.close(); } catch (Exception e) { e.printStackTrace(); } } }excel表格就被保存到指定位置了。
替换第六步可实现下载// 第六步,下载excel OutputStream out = null; try { out = response.getOutputStream(); String fileName = "enroll.xls";// 文件名 response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); wb.write(out); } catch (Exception e) { e.printStackTrace(); } finally { try { out.close(); } catch (IOException e) { e.printStackTrace(); } }
新闻热点
疑难解答