成为很厉害很厉害的人,最重要的,就是要热血,永远也不要让你的血凉下去。

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

还是摸鱼的一天

疯狂星期四的舆论越来越少了,于我而言:KFC并没有特别价值值得众人去推崇和关注的地方;
到公司打完卡之后,"偷偷"跑下楼吃了一份早餐,又"偷偷"的做在工位上,看见双引号了吗,我其实是正大光明的和技术总监一起"偷偷"的溜下楼就为了填饱自己的肚子
回到工位之后,泡杯coffee解解乏,此时此刻也并没有打开我的IDEA,而是通过WeChat和昔日的好友聊上了几句

自己搭个项目做个DEMO,拉拉人手结果发现他既然不在仓库内哈哈哈
说教一番之后,又差不多到中午了,看见眼前的藏红花许久未动,突然起了心思;据说一百元一克,当然不是我能够买的起的啦,一位与我非常要好的朋友赠与我。我们的关系至今还在联系,非常的难得【远不止点头之交】
藏红花泡泡水->喝出的味道带着一股清淡的中药,喝出的感觉却是对这份情感的志怀


目录

  • 导入

导入数据->解析为JSON

  • 导入

导入数据->解析为对象
注意:导入的表头和对象的备注要求一致【表头:姓名、年龄...对象中的引用@ExcelImport("姓名")、@ExcelImport("年龄")...】

package com.yjw.demo.entity.po.excel;

import com.yjw.demo.commons.utils.ExcelImport;
import lombok.Data;

/**
 * @PROJECT_NAME: demo-all
 * @DESCRIPTION:
 * @USER: YanJiaWei
 * @DATE: 2023/3/9 14:58
 */
@Data
public class ExcelImportEntity {
    @ExcelImport("姓名")
    private String name;

    @ExcelImport("年龄")
    private Integer age;

    @ExcelImport("性别")
    private String sex;

    @ExcelImport("电话")
    private String tel;

    @ExcelImport("城市")
    private String city;
//    @ExcelExport("头像")
//    private String avatar;
}


前提

注意作者的写作方式
Contoleer->Service->impl
导入数据中,每个接收参数中都要添加@RequestPart("file") MultipartFile file然后一层一层递给impl实现类
我最怕麻烦了,像这种demo一般写在controller都无所谓;但是为了读者能够养成良好的习惯被迫遵守开发守则

package com.yjw.demo.controller.excel;

import com.yjw.demo.service.excel.ExcelImportService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;

/**
 * @PROJECT_NAME: demo-all
 * @DESCRIPTION:
 * @USER: YanJiaWei
 * @DATE: 2023/3/9 13:25
 */
@RestController
@RequestMapping("/excel")
public class ExcelImportController {

    @Resource
    private ExcelImportService excelImportService;

    /**
     * 导入数据且解析为JSON
     * @param file
     * @throws Exception
     */
    @PostMapping("/import/simplenessJson")
    public void excelImportSimplenessJson(@RequestPart("file") MultipartFile file) throws Exception {
        excelImportService.excelImportSimplenessJson(file);
    }

}

一、导入数据->解析为JSON

导入数据且解析为JSON

      /**
     * 导入数据且解析为JSON
     *
     * @param file
     * @throws Exception
     */
    public void excelImportSimplenessJson(MultipartFile file) throws Exception {
        JSONArray array = ExcelUtils.readMultipartFile(file);
        array.stream().forEach(po -> System.out.println(po.toString()));
    }

二、导入数据->解析为对象

    /**
     * 导入数据且解析为Object
     *
     * @param file
     * @throws Exception
     */
    public void excelImportSimplenessObject(MultipartFile file) throws Exception {
        List<ExcelImportEntity> excelList = ExcelUtils.readFileManySheet2(file, ExcelImportEntity.class);
        excelList.stream().forEach(po -> System.out.println(po.toString()));
    }

落笔->注:
excelUtils那些工具类并非作者定义
转载于:https://blog.csdn.net/sunnyzyq/article/details/121994504?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167826610516782427436960%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167826610516782427436960&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-5-121994504-null-null.142v73control,201v4add_ask,239v2insert_chatgpt&utm_term=javaexcel%E5%AF%BC%E5%85%A5%E5%AF%BC%E5%87%BA%E5%8A%9F%E8%83%BD&spm=1018.2226.3001.4187
经后期整改发布全文
又感觉到累又感觉到不累->公司的活做的快大部分时候都是在逛博客->本来想把原文作者的Utils的工具类整改一番,但是想了又没有那个必要哈哈哈,能用就行了
在此非常感谢原文作者提供的Utils

posted @ 2023-03-09 14:18  顾留芳啊  阅读(124)  评论(0编辑  收藏  举报