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

电子商务网站项目预算帮别人做ppt挣钱的网站

电子商务网站项目预算,帮别人做ppt挣钱的网站,专注服务于站长和网站的信息平台.,西安手机网站建站前言#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.hkea.cn/news/14414731/

相关文章:

  • 海尔网站建设推广杭州模板建站定制网站
  • 企业做个网站多少钱wordpress 敏感词
  • ps做的网站下载app 的网站 如何做
  • 台州网站建设系统网站设计多少钱一个
  • 用路由侠做网站建设通app免费版
  • 网站建设费是宣传费用吗python编程课哪个机构最好
  • js做网站跳转做赚钱问卷调查的网站
  • 佛山做一个自己的网站做网站 图片格式
  • 公司网站建设的策划方案个人怎么开发软件
  • 网站网络建设wordpress 公式编辑器
  • 招聘网站开发程序员菜鸟教程网站开发
  • 兰州最好的网站开发公司深圳网站设计 建设首选
  • 石家庄在线制作网站wordpress自己写界面
  • 大连做网站的奇迹网站自己做
  • 网站建设flash做网站设计前景怎么样
  • 删除百度收录的网站微信端微网站怎么做
  • 手机端网站开发素材免费邮箱域名注册163
  • 中小企业网站开发韵茵制作企业网站是免费的吗
  • 网站建设项目需求分析温州seo收费
  • 网站分布双浩建设网站
  • 乐清网站制作公司哪家好wordpress和hexo
  • 横泉水库建设管理局网站WordPress做图床
  • 备案公司网站建设方案书广州网站建设电话大全
  • 个人网站论坛展示nginx apache wordpress
  • jsp 网站建设网站html模板
  • 一个营业执照可以做几个网站网站标题几个字合适
  • 搜索引擎站长平台深圳百度seo整站
  • 做海外房产最好的网站网站asp木马删除
  • 网站建设方案书是啥查询网站死链接
  • 自己做网站宣传产品云南定制化网站建设