博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 实现导出excel表 POI
阅读量:7196 次
发布时间:2019-06-29

本文共 4022 字,大约阅读时间需要 13 分钟。

1.Maven添加poi-3.16.jar包,地址如下:

https://mvnrepository.com/artifact/org.apache.poi/poi

2.Student.java

import java.util.Date;    public class Student  {      private int id;      private String name;      private int age;      private Date birth;        public Student()      {      }        public Student(int id, String name, int age, Date birth)      {          this.id = id;          this.name = name;          this.age = age;          this.birth = birth;      }        public int getId()      {          return id;      }        public void setId(int id)      {          this.id = id;      }        public String getName()      {          return name;      }        public void setName(String name)      {          this.name = name;      }        public int getAge()      {          return age;      }        public void setAge(int age)      {          this.age = age;      }        public Date getBirth()      {          return birth;      }        public void setBirth(Date birth)      {          this.birth = birth;      }    }

3.CreateSimpleExcelToDisk.java

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;    public class CreateSimpleExcelToDisk  {      /**      * @功能:手工构建一个简单格式的Excel      */      private static List
getStudent() throws Exception { List list = new ArrayList(); SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd"); Student user1 = new Student(1, "张三", 16, df.parse("1997-03-12")); Student user2 = new Student(2, "李四", 17, df.parse("1996-08-12")); Student user3 = new Student(3, "王五", 26, df.parse("1985-11-12")); 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.getStudent(); for (int i = 0; i < list.size(); i++) { sheet.addMergedRegion(new CellRangeAddress(1, 10, 0, 0));//指定合并区域 row = sheet.createRow((int) i + 1); Student stu = (Student) list.get(i); // 第四步,创建单元格,并设置值 row.createCell((short) 0).setCellValue((double) stu.getId()); 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:/students.xls"); wb.write(fout); fout.close(); }catch (Exception e) { e.printStackTrace(); } } }

 

转载地址:http://hbqkm.baihongyu.com/

你可能感兴趣的文章