当前位置: 首页 > news >正文

普通网站备案上海房产网新楼盘价格

普通网站备案,上海房产网新楼盘价格,如何在网上开店,网络研发工程师前言#xff1a;在这里分享自己第一次使用EasyExcel并且编写工具类#xff0c;且在接口中支持excel文件下载的一系列流程#xff0c;包含所有前后端#xff08;JSJAVA#xff09;完整代码#xff0c;可以根据自己需要自行提取#xff0c;仅供参考。 一.引入EasyExcel依赖…前言在这里分享自己第一次使用EasyExcel并且编写工具类且在接口中支持excel文件下载的一系列流程包含所有前后端JSJAVA完整代码可以根据自己需要自行提取仅供参考。 一.引入EasyExcel依赖 dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion2.2.7/version /dependency 二.自定义创建一个实体类如下这里使用了lombok package com.genew.nms.cloud.lm.vo;import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.fasterxml.jackson.annotation.JsonFormat; import com.genew.nms.cloud.lm.config.LocalDateStringConverter; import lombok.Data; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat;import java.io.Serializable; import java.time.LocalDateTime;/*** author Salong* date 2023/5/29 15:38*/Data Accessors(chain true) public class UserModel implements Serializable {private static final long serialVersionUID 1L;ExcelIgnoreprivate String id;ExcelProperty(value User Name)ColumnWidth(20)private String userId;ExcelProperty(value User IP)ColumnWidth(20)private String userIp;ExcelProperty(value Log Time, converter LocalDateStringConverter.class)ColumnWidth(20)DateTimeFormat(pattern yyyy-MM-dd HH:mm:ss)JsonFormat(pattern yyyy-MM-dd HH:mm:ss)private LocalDateTime logTime;}其中各个注解功能如下 ExceIgnore标注的属性不会被EasyExcel读取识别 ExcelProperty(value 用户名) 被此标记的对象属性将会显示在‘用户名’的表头下面此注解还有一个index字段int类型从1开始可以不写默认按照从上往下的顺序给excel排列。 ColumnWidth(20) 表示此列的宽度可以根据内容的长短自定义宽度 需要注意日期类型的属性在ExcelProperty注解中需要额外添加coverter字段 三.编写EasyExcel工具类这里有两个class完整代码已贴出直接复制即可使用 1.ExcelUtils类 package com.genew.nms.cloud.lm.util;import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson2.JSON; import lombok.extern.slf4j.Slf4j;import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map;/*** author Salong* date 2022/8/18 10:51*/Slf4j public class ExcelUtils {/*** 本地访问* param fileFullPath 本地完整路径* param sheets sheet模板*/public static void writeLocalExcel(String fileFullPath, SheetModel... sheets) {if (null sheets || sheets.length0){log.error(所需参数sheets缺失!);}ExcelWriter excelWriter EasyExcel.write(fileFullPath).build();ListSheetModel list Arrays.asList(sheets);list.forEach(e-{WriteSheet writeSheet EasyExcel.writerSheet(e.getIndex(), e.getSheetName()).head(e.getClazz()).build();excelWriter.write(e.getData(),writeSheet);});log.info(写入excel成功!);excelWriter.finish();}/**** param response http请求返回response对象* param fileName excel文件名* param excelTypeEnum excel后缀类型(输入ExcelTypeEnum.XLS或者ExcelTypeEnum.XLSX)* param sheets sheet表单模板* throws IOException*/public static void writeWebExcel(HttpServletResponse response, String fileName, ExcelTypeEnum excelTypeEnum, SheetModel... sheets) {if (null sheets || sheets.length0){log.error(所需参数sheets缺失!);}ListSheetModel list Arrays.asList(sheets);try {OutputStream outputStream getOutputStream(response, fileName,excelTypeEnum);ExcelWriter excelWriter EasyExcel.write(outputStream).build();list.forEach(e-{WriteSheet writeSheet EasyExcel.writerSheet(e.getIndex(), e.getSheetName()).head(e.getClazz()).build();excelWriter.write(e.getData(),writeSheet);});log.info(写入excel成功!);excelWriter.finish();} catch (IOException e) {log.error(excel导出出失败, e);// 重置responseresponse.reset();response.setContentType(application/json);response.setCharacterEncoding(utf-8);MapString, String map new HashMap();map.put(status, 500);map.put(message, 下载文件失败 e.getMessage());try {response.getWriter().println(JSON.toJSONString(map));} catch (IOException ex) {log.error(response写入信息失败!,ex);}}}/*** 导出时生成OutputStream*/private static OutputStream getOutputStream(HttpServletResponse response, String fileName,ExcelTypeEnum excelTypeEnum)throws IOException {response.setContentType(application/vnd.ms-excel);response.setCharacterEncoding(utf-8);// 这里URLEncoder.encode可以防止中文乱码String file URLEncoder.encode(fileName, UTF-8).replaceAll(\\, %20);response.setHeader(Content-disposition, attachment;filename*utf-8 file excelTypeEnum.getValue());return response.getOutputStream();} }2.SheetModel类 package com.genew.nms.cloud.lm.util;import lombok.Data; import lombok.experimental.Accessors;import java.io.Serializable; import java.util.List;/*** author Salong* date 2022/8/18 10:52*/Data Accessors(chain true) public class SheetModelT implements Serializable {/*** 表单排序(一个Excel的不同的sheet名称不能一样,会覆盖*/private int index;/*** sheet表单名称一个Excel的不同的sheet名称不能一样会覆盖*/private String sheetName;/*** 表单填充内容*/private ListT data;/*** 表头数据类型*/private ClassT clazz; }四.使用方法示例 其中下面演示的response为HttpServletResponse对象可以用于在网络中传输 本地生成的参考工具类ExcelUtils.writeLocalExcel方法这里不一一举例。 //1.模拟获取到的数据信息并且放在List中这里用UserModel来举例 ListUserModel usersnew ArrayList(); //2.新建SheetModel对象(工作表) SheetModelUserModel model new SheetModel(); //3.构建SheetModel对象基本信息(工作表) model.setData(users) .setIndex(0) .setSheetName(user log) .setClazz(UserModel.class);//其中model为此excel中的一个工作表若excel中有多个工作表可重复构建多个model对象 //但是index不能一样否则会覆盖内容 SheetModelUserModel model01 new SheetModel(); model01 .setData(users) .setIndex(1) .setSheetName(user1 log) .setClazz(UserModel.class);//4.将上面定义的所有工作表写入到excel(上面的名称是工作表名称这里的名称为excel名称) ExcelUtils.writeWebExcel(response, system Log, ExcelTypeEnum.XLS, model,model01); 五.前端接收文件JS //js中定义需要引入axios export function cg(config){let url/api/xxx;return axios.post(url,config,{responseType: blob}); }//vue中使用 cg(config).then((response){const blob new Blob([response.data], { type: application/zip });let url window.URL.createObjectURL(blob);const link document.createElement(a); // 创建a标签link.href url;link.download gc.zip; // 重命名文件link.click();URL.revokeObjectURL(url); // 释放内存}).catch((err){console.log(err);})
http://www.dnsts.com.cn/news/23031.html

相关文章:

  • 网站内容编辑做网站搭建环境
  • 网站服务器租用选择珠海网站怎样建设
  • 企业融资百度seo优化技术
  • 信息产业部互联网网站管理工作细则禅城网站建设公司价格
  • 红酒 网站 模板做外贸网站需要缴什么税
  • 彩票网站如何做推广wordpress 漏洞工具
  • 建设部特种作业证网站查询个人网站的设计与实现主要技术指标
  • 做下载类网站前景长沙网建站
  • 医疗网站建设资讯百度上怎么做推广
  • 企业班组建设案例镇江seo网络推广定制
  • 凡科轻站官网用wordpress仿a站
  • 做网站说什么5.0啥意思wordpress导航单页
  • 网站被清空了怎么办平台型网站建设预算表
  • wordpress怎么建设网站帮做3d模型的网站
  • 机关单位网站建设合同专业做网站官网
  • 邯郸市建设局网站材料下载入口wordpress登录页改造
  • 速成网站-郑州黑帽seo培训
  • 云网站建站个体工商户年报入口官网
  • 怎样查网站有没有做CDN加速网络营销岗位技能
  • 制作网站复杂吗开发一个h5网站多少钱
  • 长安外贸网站建设公司海尔集团电子网站建设
  • 做直播网站视频教程电子产品网站建设 实训报告
  • 河南中州路桥建设有限公司网站接网站开发项目
  • 建网站软件最新网站建设费用算广告费吗
  • 网站多久才会被收录制作网站代码吗
  • 制作网站的素材庆阳有人做农资网站吗
  • 商丘网站推广的方法广州新闻热点事件
  • 做自动采集电影网站有什么处罚上海产品网站建设
  • 上海网站建设规范花乡做网站公司
  • 网站建设的实验报告网页设计个人信息