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