首页 > 编程 > Java > 正文

JAVA实现创建Excel表并导出

2019-11-09 19:49:52
字体:
来源:转载
供稿:网友

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.java

package 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();              }            }   


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表