首页 > 编程语言 >JAVA 实现导入导出Excel-02随笔

JAVA 实现导入导出Excel-02随笔

时间:2023-03-08 19:35:07浏览次数:46  
标签:02 JAVA user1 sheetDataList Excel add new user2 List

忙碌的一天

  第一天写博客就让我煞费苦心,从上午完成的第一篇开始,具目前为止已经是下午18:41了;读者可能好奇为什么写这一篇随笔,我只能回答说太无聊了哈哈哈;
  其实不然,刚到公司的时候我一个需求写了15天,还是加班加点的努力,并不是说需求有多么的难,而是自己笨,就要花比别人多2倍的时间;在那次之后我慢慢成长(猥琐发育),所以之前写的很多工具我都封装在工具包了。
  今天还真忙碌了,上午编写代码进行版本迭代->需求评估开会->编辑随笔,下午编辑随笔(中午也在写,然后忘记吃饭了),一眨眼既然下午15:34了,不得不说,沉浸知识海洋中的时间如梭。本想去楼下麦当劳随笔吃点的;
  回头却发现人事姐姐拿着下午茶来到了公司(此时此刻心中可是大喜),立马停下手中键盘,连忙带跑的去挑贵的披萨和水果吃。后来回头想想,原来今天是3-8父母节;该和家里人打通电话了;.

目录

  • 导出

    动态数据导出

  • 导出

    对象数据导出


前提

请写好自己的Controller层和Service层->以下代码皆为实现层


一、动态数据导出

简单导出数据

    /**
     * 简单导出数据
     *
     * @param response
     */
    public void exportSimpleness(HttpServletResponse response) {
        // 表头数据
        List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像");
        // 用户1数据
        List<Object> user1 = new ArrayList<>();
        user1.add("孙悟空");
        user1.add(99);
        user1.add("男");
        user1.add("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165");
        // 用户2数据
        List<Object> user2 = new ArrayList<>();
        user2.add("猪八戒");
        user2.add(80);
        user2.add("女");
        user2.add("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg");
        // TODO 将数据汇总
        List<List<Object>> sheetDataList = new ArrayList<>();
        sheetDataList.add(head);// 添加表头
        sheetDataList.add(user1);// 添加数据1
        sheetDataList.add(user2);// 添加数据2
        // 导出数据
        ExcelUtils.export(response, "简单导出数据", sheetDataList);
    }

导出包含图片的excel数据

/**
     * 导出包含图片的excel数据
     *
     * @param response
     */
    public void exportImg(HttpServletResponse response) throws MalformedURLException {
        // 表头数据
        List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像");
        // 用户1数据
        List<Object> user1 = new ArrayList<>();
        user1.add("孙悟空");
        user1.add(99);
        user1.add("男");
        // TODO 导出图片->抛出异常0->选择java.net下的URL
        user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
        // 用户2数据
        List<Object> user2 = new ArrayList<>();
        user2.add("猪八戒");
        user2.add(80);
        user2.add("女");
        user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
        // 将数据汇总
        List<List<Object>> sheetDataList = new ArrayList<>();
        sheetDataList.add(head);// 添加表头
        sheetDataList.add(user1);// 添加数据1
        sheetDataList.add(user2);// 添加数据2
        // 导出数据
        ExcelUtils.export(response, "导出包含图片的excel数据", sheetDataList);
    }

下拉列表

/**
     * 下拉列表
     *
     * @param response
     */
    public void exportPullDown(HttpServletResponse response) throws MalformedURLException {
        // 表头数据
        List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像  ");
        // 用户1数据
        List<Object> user1 = new ArrayList<>();
        user1.add("孙悟空");
        user1.add(99);
        user1.add("男");
        user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
        // 用户2数据
        List<Object> user2 = new ArrayList<>();
        user2.add("猪八戒");
        user2.add(80);
        user2.add("女");
        user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
        // 将数据汇总
        List<List<Object>> sheetDataList = new ArrayList<>();
        sheetDataList.add(head);// 添加表头
        sheetDataList.add(user1);// 添加数据1
        sheetDataList.add(user2);// 添加数据2
        // TODO 设置下拉框(K为第几列(从0开始),Y为下拉数据)
        Map<Integer, List<String>> selectMap = new HashMap<>(1);
        selectMap.put(2, Arrays.asList("男", "女"));
        // 导出数据
        ExcelUtils.export(response, "下拉列表", sheetDataList, selectMap);
    }

横向合并

   /**
     * 横向合并
     *
     * @param response
     */
    public void exportMerge2(HttpServletResponse response) throws MalformedURLException {
        // 表头数据
        List<Object> head = Arrays.asList("姓名", "年龄", "性别", "头像  ", ExcelUtils.COLUMN_MERGE);// TODO 合并头像字段
        // 用户1数据
        List<Object> user1 = new ArrayList<>();
        user1.add("孙悟空");
        user1.add(99);
        user1.add("男");
        user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
        user1.add(new URL("https://pics0.baidu.com/feed/64380cd7912397dd0195bf0bcab894bfd1a28797.jpeg?token=3961483ed93336e4c2b9870ce34b0165"));
        // 用户2数据
        List<Object> user2 = new ArrayList<>();
        user2.add("猪八戒");
        user2.add(80);
        user2.add("女");
        user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
        user2.add(new URL("https://p6.itc.cn/q_70/images03/20210112/cf7f415594f24266a03d5e54496c7509.jpeg"));
        // 将数据汇总
        List<List<Object>> sheetDataList = new ArrayList<>();
        sheetDataList.add(head);// 添加表头
        sheetDataList.add(user1);// 添加数据1
        sheetDataList.add(user2);// 添加数据2
        // TODO 设置下拉框(K为第几列(从0开始),Y为下拉数据)
        Map<Integer, List<String>> selectMap = new HashMap<>(1);
        selectMap.put(2, Arrays.asList("男", "女"));
        // 导出数据
        ExcelUtils.export(response, "横向合并", sheetDataList, selectMap);
    }

纵向合并

   /**
     * 纵向合并
     *
     * @param response
     */
    public void exportMerge1(HttpServletResponse response) throws MalformedURLException {
        // 表头数据
        List<Object> head = Arrays.asList("归属地", "姓名", "年龄", "性别", "地址");// TODO 合并头像字段
        // 用户1数据
        List<Object> user1 = new ArrayList<>();
        user1.add("东土大唐");
        user1.add("孙悟空");
        user1.add(99);
        user1.add("男");
        user1.add("花果山");
        // 用户2数据
        List<Object> user2 = new ArrayList<>();
        user2.add("东土大唐");
        user2.add("猪八戒");
        user2.add(80);
        user2.add("男");
        user2.add("高老庄");

        List<Object> user3 = new ArrayList<>();
        user3.add("东土大唐");
        user3.add("嫦娥");
        user3.add(20);
        user3.add("女");
        // TODO 纵向合并 和猪八戒一个地方
        user3.add(ExcelUtils.ROW_MERGE);

        List<Object> user4 = new ArrayList<>();
        user4.add("东土大唐");
        user4.add("沙悟净");
        user4.add(78);
        user4.add("男");
        user4.add("流沙河");

        // 将数据汇总
        List<List<Object>> sheetDataList = new ArrayList<>();
        sheetDataList.add(head);// 添加表头
        sheetDataList.add(user1);// 添加数据1
        sheetDataList.add(user2);// 添加数据2
        sheetDataList.add(user3);// 添加数据3
        sheetDataList.add(user4);// 添加数据4

        // 设置下拉框(K为第几列(从0开始),Y为下拉数据)
        Map<Integer, List<String>> selectMap = new HashMap<>(1);
        selectMap.put(2, Arrays.asList("男", "女"));
        // 导出数据
        ExcelUtils.export(response, "纵向合并", sheetDataList, selectMap);
    }


二、对象数据导出

标签:02,JAVA,user1,sheetDataList,Excel,add,new,user2,List
From: https://www.cnblogs.com/yjw6/p/17195727.html

相关文章

  • 2023/03/06刷题
    A.NextTest链接A.NextTest这个题非常简单不像1200分的题,就是先排序吧第一个按顺序把第一个没出现的数字打印出来就好了#include<iostream>#include<algorithm>......
  • 2023.3.7Android开发
    今天学习了Android开发的图像显示imageview中的图片属性xml中的缩放类型,fitxy拉伸图片使其正好填满试图(图片可被拉伸变形)firststrat保持宽高比例,拉伸图片使其位于试图的......
  • 2023.3.8 闲话
    膜拜国际特级大师SMTwy膜拜国际特级大师SMTwy膜拜国际特级大师SMTwy膜拜国际特级大师SMTwy膜拜国际特级大师SMTwy推歌:ダーリン(Darling)-MARETU.约定素数......
  • C/C++校园核酸检测管理程序[2023-03-08]
    C/C++校园核酸检测管理程序[2023-03-08]2022级课程设计1(程序设计语言C)参考题目及需求说明题目:校园核酸检测管理程序1程序使用人员采集员、检测员、待检者。为了......
  • 获取当前jar包路径_java获取jar文件
    一、获取可执行jar包所在目录(1)方法一:使用System.getProperty("java.class.path")获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包的绝对......
  • C/C++餐厅信息管理程序[2023-03-08]
    C/C++餐厅信息管理程序[2023-03-08]二、餐厅信息管理程序基本要求:1.要求实现客户点菜的过程、客户结账、账目的管理、餐厅系统的维护四大功能模块,每个功能模块又分别对......
  • 获取当前jar包路径_java获取jar文件
    一、获取可执行jar包所在目录(1)方法一:使用System.getProperty("java.class.path")复制获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包......
  • 每日随笔2023/3/8
    今天学习了As中的显隐式Intent 三种构建方式:在Intent的构造函数中指定调用意图对象的setClass方法指定调用意图对象的setComponent方法指定(1)Intentintent=new......
  • Java多种方法实现等待所有子线程完成再继续执行
    简介在现实世界中,我们常常需要等待其它任务完成,才能继续执行下一步。Java实现等待子线程完成再继续执行的方式很多。我们来一一查看一下。Thread的join方法该方法是Thre......
  • java springboot mybatis plus 3.4 实现执行任意 sql 语句
    试了SqlRunner一直失败,不知道原因,于是试了如下方法,完美解决。@AutowiredprivateSqlSessionFactorysqlSessionFactory;publicList<Map<String,Object>>exec......