首页 > 其他分享 >vue excel导入,导出

vue excel导入,导出

时间:2023-04-05 20:11:33浏览次数:43  
标签:row1 row2 vue String Map writer excel 导入 put

@GetMapping("/exportExample")
    @Inner(false)
    //public R exportExample(Integer cs,String cs2){
    public void exportExample(MeterWater meterWater, HttpServletResponse response) throws IOException {

        //查询所有用户
        Map<String, Object> row1 = new LinkedHashMap<>();
        row1.put("username", "张三");
        row1.put("password", 23);
        row1.put("nickname", 88.32);
        row1.put("email", true);


        Map<String, Object> row2 = new LinkedHashMap<>();
        row2.put("username", "李四");
        row2.put("password", 33);
        row2.put("nickname", 59.50);
        row2.put("email", false);


        ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row1, row2);


        ExcelWriter writer = ExcelUtil.getWriter(true);
        //自定义标题别名
        writer.addHeaderAlias("username", "姓名");
        writer.addHeaderAlias("password", "年龄");
        writer.addHeaderAlias("nickname", "成绩");
        writer.addHeaderAlias("email", "是否合格");


        //默认配置
        writer.write(rows, true);

        //设置content—type
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset:utf-8");

        //设置标题
        String fileName = URLEncoder.encode("用户信息", "UTF-8");
        //Content-disposition是MIME协议的扩展,MIME协议指示MIME用户代理如何显示附加的文件。
        response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
        ServletOutputStream outputStream = response.getOutputStream();

        //将Writer刷新到OutPut
        writer.flush(outputStream, true);
        outputStream.close();
    }

导入

        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.10</version>
        </dependency>
 @PostMapping("/importWaterInfo")
    public R importCustomerInfo(@RequestBody Map<String, Object> map, BindingResult bindingResult) {

        JSONArray headerKey = JSONUtil.parseArray(map.get("header").toString());

        JSONArray jContent = JSONUtil.parseArray(map.get("results").toString());


        List<Map> lstMap = JSONUtil.toList(jContent, Map.class);

        int iIndex = 1;
        for(Map<String,Object> mp: lstMap){
            String sName = mp.get("姓名").toString();
            iIndex ++;
        }


        String sSql = "";

        return R.ok();
        //return customerInfoService.importCustomerInfo(voList, bindingResult);
    }

标签:row1,row2,vue,String,Map,writer,excel,导入,put
From: https://www.cnblogs.com/linhan8888/p/17290748.html

相关文章

  • easyexcel动态下拉框,动态表头
    privatestaticfinalintFLAG1=1;privatestaticfinalintFLAG2=2;privatestaticfinalintFLAG3=3;/***动态列头**@return*/privateList<List<String>>head(IntegerheadFlag){List<User>userList=newArrayList<>......
  • easy-excel读取远程地址获得文件进行上传
    背景作为一个快五年的程序员,一直以来还没有自己维护过自己的技术栈,最近也是有时间,所以也是下定决心,从头开始,一步一步的夯基础。最近在系统化的学习easy-excel,今天遇到了一个问题,特意记录一下。目的尝试前端上传文件到文件存储器,然后请求的时候带上这个路径,后台解析这个路径,做ex......
  • 第四十篇 vue - 进阶主题 - 使用 Vue 的多种方式
    使用Vue的多种方式在Web的世界中从来就没有可以适配所有场景、解决所有问题的银弹。正因如此,Vue被设计成一个灵活的、可以渐进式集成的框架。根据使用场景的不同需要,相应地有多种不同的方式来使用Vue,以此在技术栈复杂度、开发体验和性能表现间取得最佳平衡独立脚本Vue可......
  • 第四十一篇 vue - 进阶主题 - 组合式 API 常见问答
    什么是组合式API?组合式API(CompositionAPI)是一系列API的集合,使我们可以使用函数而不是声明选项的方式书写Vue组件。它是一个概括性的术语,涵盖了以下方面的API1、响应式API例如ref()和reactive(),使我们可以直接创建响应式状态、计算属性和侦听器。2、生命......
  • 第四十二篇 vue - 进阶主题 - 深入响应式系统
    响应式系统Vue最标志性的功能就是其低侵入性的响应式系统。组件状态都是由响应式的JavaScript对象组成的。当更改它们时,视图会随即自动更新。这让状态管理更加简单直观,但理解它是如何工作的也是很重要的,这可以帮助我们避免一些常见的陷阱。在本节中,我们将深入研究Vue响应性......
  • 第四十四篇 vue - 进阶主题 - 渲染函数 & JSX
    渲染函数&JSX在绝大多数情况下,Vue推荐使用模板语法来创建应用。然而在某些使用场景下,我们真的需要用到JavaScript完全的编程能力。这时渲染函数就派上用场了基本用法1、创建VnodesVue提供了一个h()函数用于创建vnodesimport{h}from'vue'constvnode=h(......
  • 第四十三篇 vue - 进阶主题 - 渲染机制
    渲染机制Vue是如何将一份模板转换为真实的DOM节点的,又是如何高效地更新这些节点的呢?我们接下来就将尝试通过深入研究Vue的内部渲染机制来解释这些问题虚拟DOM你可能已经听说过“虚拟DOM”的概念了,Vue的渲染系统正是基于这个概念构建的虚拟DOM(VirtualDOM,简称VDOM......
  • 第四十六篇 vue - 进阶主题 - 动画技巧
    动画技巧Vue提供了<Transition>和<TransitionGroup>组件来处理元素进入、离开和列表顺序变化的过渡效果。但除此之外,还有许多其他制作网页动画的方式在Vue应用中也适用。这里我们会探讨一些额外的技巧基于CSSclass的动画对于那些不是正在进入或离开DOM的元素,我们可......
  • 第四十五篇 vue - 进阶主题 - Vue 与 Web Components
    Vue与WebComponentsWebComponents是一组web原生API的统称,允许开发者创建可复用的自定义元素(customelements)Vue和WebComponents是互补的技术。Vue为使用和创建自定义元素提供了出色的支持。无论你是将自定义元素集成到现有的Vue应用中,还是使用Vue来构建和......
  • 第四十七篇 vue - vue2 和 vue3 的对比
    vue2和vue3不同点汇总1、生命周期2、多根节点3、CompositionApi4、异步组件5、响应式原理6、Teleport7、虚拟Dom8、事件缓存9、Diff算法优化10、打包优化11、TypeScript支持生命周期1、Vue3生命周期整体上变化不大,Vue3在大部分生命周期钩子名称......