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

pc端网站未来wordpress进销存插件

pc端网站未来,wordpress进销存插件,全国企业信用信息,app研发费用一般多少钱vue springboot利用easypoi实现简单导出 前言一、easypoi是什么#xff1f;二、使用步骤 1.传送门2.前端vue3.后端springboot 3.1编写实体类#xff08;我这里是dto,也一样#xff09;3.2控制层结尾 前言 今天玩了一下springboot利用easypoi实现excel的导出#xff0c;以前… vue springboot利用easypoi实现简单导出 前言一、easypoi是什么二、使用步骤 1.传送门2.前端vue3.后端springboot 3.1编写实体类我这里是dto,也一样3.2控制层结尾 前言 今天玩了一下springboot利用easypoi实现excel的导出以前没玩过导入导出只不过听说过看别人用过怎么说呢想玩就玩一下吧毕竟结合自己业务场景需要才会考虑是否使用。先简单介绍一下easypoi。 一、easypoi是什么 1.不太熟悉poi的 2.不想写太多重复太多的 3.只是简单的导入导出的 4.喜欢使用模板的 若poi都不知道的童鞋请自行百度。。。 Easypoi的目标不是替代poi,而是让一个不懂导入导出的快速使用poi完成Excel和word的各种操作,而不是看很多api才可以完成这样工作。 二、使用步骤 1.传送门 因为我也是第一次使用这里还是先将easypoi的文档放这儿吧 basedemo.md · 悟耘信息/easypoi - Gitee.com 2.后端springboot 首先引入easypoi所需依赖 !--easypoi导入导出--dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-base/artifactIdversion4.1.3/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-web/artifactIdversion4.1.3/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-annotation/artifactIdversion4.1.3/version/dependency或者使用这个: dependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-spring-boot-starter/artifactIdversion4.0.0/version /dependency3.1编写实体类我这里是dto,也一样 package top.wangxingjun.separate.dto;import cn.afterturn.easypoi.excel.annotation.Excel; import top.wangxingjun.separate.dto.base.OutputConverter; import top.wangxingjun.separate.entity.AdminRole; import top.wangxingjun.separate.entity.User; import lombok.Data; import lombok.ToString;import java.util.List;/*** author wxj* Date 2020/8/10*/ Data ToString public class UserDTO implements OutputConverterUserDTO, User {Excel(name 编号)private int id;Excel(name 账号)private String username;Excel(name 真实姓名)private String name;Excel(name 手机号)private String phone;Excel(name 邮箱)private String email;Excel(name 状态,replace {启用_true,禁用_false})private boolean enabled;} 简单看一下这个 Excel 注解主要的值 关于图片路径 着重说明一下这个图片路径当 type 取值为 2 的时候表示导出为图片同时配合使用的是 imageType 参数该参数决定是从 file 读取还是去数据库读取默认为从 file 中读取记得很早之前有小伙伴图片是直接 base64 存数据库的不过现在是没有人干这种事了 3.2控制层 直接看代码 /*** 用户信息导出*/GetMapping(api/exportUser)public void exportUser(HttpServletResponse response) throws Exception {ListUserDTO list userService.list();ExcelUtil.exportExcel(list, null, sheet1, UserDTO.class, 用户信息, response);} 没错就这么几行代码当然了还要有个工具类是我封装好的网上也有很多的咯。下面看工具类 package top.wangxingjun.separate.util;import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import lombok.extern.log4j.Log4j2; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse; import java.io.File; import java.net.URLEncoder; import java.util.List; import java.util.Map; import java.util.NoSuchElementException;/*** ProjectName: separate* Package: top.wangxingjun.separate.util* ClassName: ExcelUtil* Author: wxj* Description: Excel导入导出工具类* Date: 2020/8/25 10:07* Version: 1.0*/ Log4j2 public class ExcelUtil {/*** Map集合导出** param list 需要导出的数据* param fileName 导出的文件名* param response HttpServletResponse对象*/public static void exportExcel(ListMapString, Object list, String fileName, HttpServletResponse response) throws Exception{defaultExport(list, fileName, response);}/*** 复杂导出Excel包括文件名以及表名不创建表头** param list 需要导出的数据* param title 表格首行标题不需要就传null* param sheetName 工作表名称* param pojoClass 映射的实体类* param fileName 导出的文件名如果为null则默认文件名为当前时间戳* param response HttpServletResponse对象*/public static void exportExcel(List? list, String title, String sheetName, Class? pojoClass, String fileName,HttpServletResponse response) throws Exception{defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName));}/*** 复杂导出Excel包括文件名以及表名创建表头** param list 需要导出的数据* param title 表格首行标题不需要就传null* param sheetName 工作表名称* param pojoClass 映射的实体类* param fileName 导出的文件名* param isCreateHeader 是否创建表头* param response HttpServletResponse对象*/public static void exportExcel(List? list, String title, String sheetName, Class? pojoClass, String fileName,boolean isCreateHeader, HttpServletResponse response) throws Exception{ExportParams exportParams new ExportParams(title, sheetName);exportParams.setCreateHeadRows(isCreateHeader);defaultExport(list, pojoClass, fileName, response, exportParams);}/*** 默认导出方法** param list 需要导出的数据* param pojoClass 对应的实体类* param fileName 导出的文件名* param response HttpServletResponse对象* param exportParams 导出参数实体*/private static void defaultExport(List? list, Class? pojoClass, String fileName, HttpServletResponse response,ExportParams exportParams) throws Exception{Workbook workbook ExcelExportUtil.exportExcel(exportParams, pojoClass, list);downloadExcel(fileName, workbook, response);}/*** 默认导出方法** param list Map集合* param fileName 导出的文件名* param response HttpServletResponse对象*/private static void defaultExport(ListMapString, Object list, String fileName, HttpServletResponse response)throws Exception {Workbook workbook ExcelExportUtil.exportExcel(list, ExcelType.HSSF);if (null ! workbook) {downloadExcel(fileName, workbook, response);}}/*** Excel导出** param fileName Excel导出* param workbook Excel对象* param response HttpServletResponse对象*/public static void downloadExcel(String fileName, Workbook workbook, HttpServletResponse response) throws Exception{try {if (StringUtils.isEmpty(fileName)) {throw new RuntimeException(导出文件名不能为空);}String encodeFileName URLEncoder.encode(fileName, UTF-8);response.setHeader(content-Type, application/vnd.ms-excel; charsetutf-8);response.setHeader(Content-Disposition, attachment;filename encodeFileName);response.setHeader(FileName, encodeFileName);response.setHeader(Access-Control-Expose-Headers, FileName);workbook.write(response.getOutputStream());} catch (Exception e) {log.error(e.getMessage(), e);}}/*** 根据文件路径来导入Excel** param filePath 文件路径* param titleRows 表标题的行数* param headerRows 表头行数* param pojoClass 映射的实体类* return*/public static T ListT importExcel(String filePath, Integer titleRows, Integer headerRows, ClassT pojoClass) throws Exception{//判断文件是否存在if (StringUtils.isBlank(filePath)) {return null;}ImportParams params new ImportParams();params.setTitleRows(titleRows);params.setHeadRows(headerRows);ListT list null;try {list ExcelImportUtil.importExcel(new File(filePath), pojoClass, params);} catch (NoSuchElementException e) {log.error(模板不能为空, e);} catch (Exception e) {log.error(e.getMessage(), e);}return list;}/*** 根据接收的Excel文件来导入Excel,并封装成实体类** param file 上传的文件* param titleRows 表标题的行数* param headerRows 表头行数* param pojoClass 映射的实体类* return*/public static T ListT importExcel(MultipartFile file, Integer titleRows, Integer headerRows, ClassT pojoClass) throws Exception{if (file null) {return null;}ImportParams params new ImportParams();params.setTitleRows(titleRows);params.setHeadRows(headerRows);ListT list null;try {list ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);} catch (NoSuchElementException e) {log.error(excel文件不能为空, e);} catch (Exception e) {log.error(e.getMessage(), e);}return list;}/*** 文件转List** param file* param pojoClass* param T* return*/public static T ListT fileToList(MultipartFile file, ClassT pojoClass) throws Exception{if (file.isEmpty()) {throw new RuntimeException(文件为空);}ListT list ExcelUtil.importExcel(file, 1, 1, pojoClass);if (CollectionUtils.isEmpty(list)) {throw new RuntimeException(未解析到表格数据);}return list;} }excel导出所需要的都准备好了下面来看一下我的效果 ​
http://www.dnsts.com.cn/news/4010.html

相关文章:

  • 南宁微网站制作wordpress 瀑布流布局
  • 网站开发 适应 手机 电脑安阳铁保芬
  • 广东网站设计费用花魁她已有夫君了
  • 网站修改方案自助建站cn
  • 中国建设监理协会官方网站企业网站大全
  • 98建筑网站网页设计快速培训
  • php 向网站发送数据晋江市住房建设局网站
  • 搭建网站钱企业建立网站的原因
  • 速橙科技有限公司网站建设wordpress 访问源端口号
  • 五星级酒店网站建设方案建筑用网包括哪些
  • 企业网站建网络服务器可提供的常见服务有什么
  • 做海外房产最好的网站关键词自然排名优化
  • 电子外贸网站模板文创产品设计大赛作品
  • 网站广告代码湖北网页设计师培训
  • 网站设计导航网站建设费是什么
  • 资源站源码永久个体工商户软件开发网站建设维护
  • 网站做语音识别wordpress 手动缩略图
  • 做盗版小说网站违法吗腾讯云服务器搭建教程
  • 怎么做盲盒wordpress路径优化
  • 常州外贸网站青柠直播免费版
  • vps网站搬家郑州网站建设公司哪家好
  • 合肥网站优化方案广东湛江网站建设
  • 中文网站建设英文网站建设济南网站制作工具
  • 目前网站建设主流技术架构仿门户网站
  • 在线做ppt模板下载网站有哪些东莞松山湖天气
  • 专业商城网站建设价格网易企业邮箱怎么修改绑定手机
  • 建地方的网站前景大理网站制作公司
  • 成都网站建设开发价网页视频怎么下载ios
  • 网站建设买服务器价格php 显示不同网站内容
  • 常熟建设局网站宝塔面板安装wordpress