SpringBoot+EasyExcel导⼊导出,好⽤到爆,mybatis⾯试题⽀持⼀定程度的单元格合并等灵活化操作
⼆、常⽤注解
@ExcelProperty 指定当前字段对应excel中的那⼀列。可以根据名字或者Index去匹配。当然也可以不写,默认第⼀个字段就是index=0,以此类推。千万注意,要么全部不写,要么全部⽤index,要么全部⽤名字去匹配。千万别三个混着⽤,除⾮你⾮常了解源代码中三个混着⽤怎么去排序的。
@ExcelIgnore 默认所有字段都会和excel去匹配,加了这个注解会忽略该字段
@DateTimeFormat ⽇期转换,⽤String去接收excel⽇期格式的数据会调⽤这个注解。⾥⾯的value参照SimpleDateFormat @NumberFormat 数字转换,⽤String去接收excel数字格式的数据会调⽤这个注解。⾥⾯的value参照DecimalFormat @ExcelIgnoreUnannotated默认不加ExcelProperty 的注解的都会参与读写,加了不会参与
三、依赖
com.alibaba
easyexcel
2.1.4
javax.servlet
javax.servlet-api
4.0.1
provided
com.alibaba
fastjson
1.2.47
四、监听
/**
* EasyExcel 导⼊监听
*/
public class ExcelListener extends AnalysisEventListener {
//可以通过实例获取该值
private List datas = new ArrayList();
@Override
public void invoke(Object o, AnalysisContext analysisContext) {
datas.add(o);//数据存储到list,供批量处理,或后续⾃⼰业务逻辑处理。
doSomething(o);//根据⾃⼰业务做处理
private void doSomething(Object object) {
//1、⼊库调⽤接⼝
}
public List getDatas() {
return datas;
}
public void setDatas(List datas) {
this.datas = datas;
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
// datas.clear();//解析结束销毁不⽤的资源
}
}
五、接⼝导⼊Excel
try {
//获取⽂件名
String filename = OriginalFilename();
//获取⽂件流
InputStream inputStream = InputStream();
//实例化实现了AnalysisEventListener接⼝的类
ExcelListener listener = new ExcelListener();
//传⼊参数
ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLS, null, listener); //读取信息
//获取数据
List list = Datas();
if (list.size() > 1) {
for (int i = 0; i < list.size(); i++) {
Testobj = (Test) (i);
JSONObject jo = new JSONObject();
}
} catch (Exception e) {
System.ou
《⼀线⼤⼚Java⾯试题解析+后端开发学习笔记+最新架构讲解视频+实战项⽬源码讲义》
【docs.qq/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
t.Message());
}
六、接⼝导出Excel (HttpServletResponse response, HttpServletRequest request) try {
String filenames = “111111”;
String userAgent = Header(“User-Agent”);
if (ains(“MSIE”) || ains(“Trident”)) {
filenames = de(filenames, “UTF-8”);
} else {
filenames = new Bytes(“UTF-8”), “ISO-8859-1”);
}
response.setContentType(“application/vnd.ms-exce”);
fastjson怎么用
response.setCharacterEncoding(“utf-8”);
response.addHeader(“Content-Disposition”, “filename=” + filenames + “.xlsx”); EasyExcel.OutputStream(), Test.class).sheet(“sheet”).doWrite(testList);
} catch (Exception e) {
}
七、本地导⼊、本地导出
List testList = new ArrayList<>();
try {
String strUrl = “C:\Users\Administrator\Desktop\json.xlsx”;
File multipartFile = new File(strUrl);
InputStream inputStream = new FileInputStream(multipartFile);
//实例化实现了AnalysisEventListener接⼝的类
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论