• 利用Apache POI 实现简单的Excel表格导出


    1、利用POI API实现简单的Excel表格导出

    首先假设一个学生实体类:

    package com.sun.poi.domain;
    
    import java.io.Serializable;
    import java.util.Date;
    public class Student implements Serializable {
        private static final long serialVersionUID = 1L;
        //学生ID
        private int studentId;
        //学生姓名
        private String name;
        //年龄
        private int age;
        //出生年月
        private Date birth;
        public Student() {
    
        }
        public Student(int studentId, String name, int age, Date birth) {
            super();
            this.studentId = studentId;
            this.name = name;
            this.age = age;
            this.birth = birth;
        }
        public int getStudentId() {
            return studentId;
        }
        public void setStudentId(int studentId) {
            this.studentId = studentId;
        }
        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;
        }
    }
    

    利用POI 实现Excel导出功能:

    package com.sun.poi.fuction;
    
    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.sun.poi.domain.Student;
    
    public class CreateSimpleExcelToDisk {
    
        private static SimpleDateFormat sdf;
    
        private static List<Student> getStudent() throws Exception{
            List<Student> studentList = new ArrayList<Student>();
            sdf = new SimpleDateFormat("yyyy-mm-dd");
    
            Student stu1 = new Student(1, "张三", 12, sdf.parse("1999-12-30"));
            Student stu2 = new Student(1, "李四", 12, sdf.parse("2000-4-20"));
            Student stu3 = new Student(1, "王二", 12, sdf.parse("2003-12-15"));
            Student stu4 = new Student(1, "麻子", 12, sdf.parse("1989-11-22"));
            Student stu5 = new Student(1, "铁蛋", 12, sdf.parse("1999-5-11"));
            studentList.add(stu1);
            studentList.add(stu2);
            studentList.add(stu3);
            studentList.add(stu4);
            studentList.add(stu5);
            return studentList;
        }
    
        public static void main(String[] args) throws Exception {
            //获取数据源
            List<Student> studentList = getStudent();
            //1、创建一个webbook,表示一个Excel文件
            HSSFWorkbook wb = new HSSFWorkbook();
            //2、在Excel文件中添加一个sheet页
            HSSFSheet sheet = wb.createSheet("学生信息表");
            //3、在sheet页中添加表头,第一行
            HSSFRow row = sheet.createRow((int)0);
            //4、设置单元格的样式
            HSSFCellStyle style = wb.createCellStyle();
            //设置样式居中
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
            //5、创建一个单元格,并设置居中样式
            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);
    
            for (int i = 0; i < studentList.size(); i++) {
                row = sheet.createRow(i + 1);
                Student stu = (Student)studentList.get(i);
                row.createCell(0).setCellValue(stu.getStudentId());
                row.createCell(1).setCellValue(stu.getName());
                row.createCell(2).setCellValue(stu.getAge());
                row.createCell(3).setCellValue(sdf.format(stu.getBirth()));
            }
    
            try {
                //6、导出到磁盘上
                FileOutputStream fout = new FileOutputStream("D:/student.xls");
                wb.write(fout);
                fout.close();
                System.out.println("导出excel成功");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    Python表达式与生成式
    Python三大器之生成器
    Python三大器之迭代器
    Arrays.asList基本用法
    理解静态绑定与动态绑定
    Comparable 和 Comparator的理解
    @SuppressWarnings 用法
    @SafeVarargs 使用说明
    LeetCode43,一题让你学会高精度算法
    分布式——吞吐量巨强、Hbase的承载者 LSMT
  • 原文地址:https://www.cnblogs.com/Dylansuns/p/6498604.html
Copyright © 2020-2023  润新知