当前位置:   article > 正文

java实现excel导出功能_java实现导出excel报表

java实现导出excel报表

导出的是xls版本的excel,用的是HSSFWorkbook,想导出xlsx的就用XSSFWorkbook,模板自己提前准备好
用到的依赖

 <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.11.0</version>
</dependency>
 <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.2.2</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
public static void main(String[] args) throws Exception {
        //伪造数据库查出来的数据
        books books1 = new books(1,"java天下第一","5","很牛");
        books books2 = new books(2,"PHP天下第二","5","也很牛");
        List<books> list = new ArrayList<>();
        list.add(books1);
        list.add(books2);
        //获得模板
        POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("d:/poi1.xls"));
        //打开模板
        HSSFWorkbook workbook=new HSSFWorkbook(fs);
        //获得名字为sheet的工作本对象,这个是看你的模板工作表的名字
        HSSFSheet sheet = workbook.getSheet("sheet2");
        //因为是模板,第一行有标题了,我们直接在第二行对应模板第一行插入数据即可
        //  在第二行插数据
        for (int i = 0; i < list.size(); i++) {
            //获得第二行
            HSSFRow row = sheet.createRow(i + 1);
            //通过反射获得这个对象的属性字段数组
            Field[] Fields = list.get(i).getClass().getDeclaredFields();
            int a= 0;
            for (Field field : Fields) {
                //加这个才可以访问私有的属性
                field.setAccessible(true);
                //通过get方法得到value,等同于class。get**()
                Object o = field.get(list.get(i));
                //给改行的第0列赋值,后面a++,依次赋值
                HSSFCell cell = row.createCell(a);
                cell.setCellValue(String.valueOf(o));
                a++;
            }
        }
        //设置文件导出的保存路径
        File file = new File("d:/poi.xls");
        //创建文件
        file.createNewFile();
        //拿到文件的输出流
        FileOutputStream fileOutputStream = FileUtils.openOutputStream(file);
        //调用工作簿的write方法把这个流写出去
        workbook.write(fileOutputStream);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

模板样式

在这里插入图片描述
数据导入后
在这里插入图片描述
OK,栓Q!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/726142
推荐阅读
相关标签
  

闽ICP备14008679号