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

php网站开发实例教程 源码西安做视频网站公司

php网站开发实例教程 源码,西安做视频网站公司,做电销有什么资料网站,网站编辑建设#x1f31f; 前言 欢迎来到我的技术小宇宙#xff01;#x1f30c; 这里不仅是我记录技术点滴的后花园#xff0c;也是我分享学习心得和项目经验的乐园。#x1f4da; 无论你是技术小白还是资深大牛#xff0c;这里总有一些内容能触动你的好奇心。#x1f50d; #x… 前言 欢迎来到我的技术小宇宙 这里不仅是我记录技术点滴的后花园也是我分享学习心得和项目经验的乐园。 无论你是技术小白还是资深大牛这里总有一些内容能触动你的好奇心。 洛可可白个人主页 个人专栏✅前端技术 ✅后端技术 个人博客洛可可白博客 代码获取bestwishes0203 封面壁纸洛可可白wallpaper 文章目录 标题Spring Boot中Excel数据导入导出的高效实现摘要1. 依赖添加2. 自定义监听器可选3. 实体类定义4. 控制层实现导出数据导入数据 结语 往期精彩回顾 标题Spring Boot中Excel数据导入导出的高效实现 摘要 在企业级应用中Excel文件的导入导出是一个常见的需求。本文将介绍如何在Spring Boot项目中使用EasyExcel库实现Excel文件的导入导出功能。我们将通过实际的代码示例展示如何读取和写入Excel文件以及如何通过自定义监听器来增强数据处理的灵活性。 1. 依赖添加 首先我们需要在项目的pom.xml文件中添加EasyExcel的依赖。 !-- 导出excel -- dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.2.1/version /dependency2. 自定义监听器可选 为了增强数据处理的灵活性我们可以创建一个自定义监听器来校验Excel文件中的数据。例如我们可以校验用户名称是否重复或者数据格式是否正确。 import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelDataConvertException; import com.xiaohe.uploadimage.entity.User;/*** 自定义监听器对下载的excel中的数据进行校验*/public class UserListener extends AnalysisEventListener {ListString names new ArrayList();/*** 每解析一行回调该方法** param data* param context*/Overridepublic void invoke(Object data, AnalysisContext context) {//校验名称String name ((User) data).getU_name(); // if (StrUtil.isBlank(name)) { // throw new RuntimeException(String.format(第%s行名称为空请核实, context.readRowHolder().getRowIndex() 1)); // }if (names.contains(name)) {throw new RuntimeException(String.format(第%s行名称已重复请核实, context.readRowHolder().getRowIndex() 1));} else {names.add(name);}}/*** 出现异常回调** param exception* param context* throws Exception*/Overridepublic void onException(Exception exception, AnalysisContext context) throws Exception {if (exception instanceof ExcelDataConvertException) {/**从0开始计算*/int columnIndex ((ExcelDataConvertException) exception).getColumnIndex() 1;int rowIndex ((ExcelDataConvertException) exception).getRowIndex() 1;String message 第 rowIndex 行第 columnIndex 列 数据格式有误请核实;throw new RuntimeException(message);} else if (exception instanceof RuntimeException) {throw exception;} else {super.onException(exception, context);}}/*** 解析完,全部回调** param context*/Overridepublic void doAfterAllAnalysed(AnalysisContext context) {//解析完,全部回调逻辑实现names.clear();} } 3. 实体类定义 我们需要定义一个实体类来映射Excel文件中的列。使用ExcelProperty注解来指定Excel列的名称。 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.excel.annotation.write.style.ColumnWidth; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;// ... 其他代码 ...Data Builder NoArgsConstructor AllArgsConstructor public class User {// ... 实体类属性和注解 ...ExcelProperty(账号)private String u_acc;ExcelProperty(密码)private String u_pwd;ExcelProperty(姓名)private String u_name;ExcelProperty(性别)private String u_sex;ColumnWidth(20)DateTimeFormat(yyyy-MM-dd)JsonFormat(pattern yyyy-MM-dd)ExcelProperty(生日)private Date u_birth;ExcelProperty(角色)private String u_ide;ExcelProperty(状态)private int u_statues;ColumnWidth(20)DateTimeFormat(yyyy-MM-dd HH:mm:ss)JsonFormat(pattern yyyy-MM-dd HH:mm:ss)ExcelProperty(创建日期)private Date u_create_time; }4. 控制层实现 导出数据 在控制器中我们提供一个接口来导出Excel文件。EasyExcel提供了便捷的API来生成Excel文件。 import com.alibaba.excel.EasyExcel; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;// ... 其他代码 ...RestController public class ExcelController {Autowiredprivate ExcelMapper excelMapper;GetMapping(user)public ListUser user() {return excelMapper.selectUserAll();}/*** 导出数据*/GetMapping(exportExcel)public void exportData(HttpServletResponse response) throws IOException {// ... 导出数据代码 ...response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);response.setCharacterEncoding(utf-8);String fileName URLEncoder.encode(用户表, StandardCharsets.UTF_8).replaceAll(\\, %20);ListUser users excelMapper.selectUserAll();response.setHeader(Content-disposition, attachment;filename*utf-8 fileName .xlsx);EasyExcel.write(response.getOutputStream(), User.class).sheet(用户表).doWrite(users);} }导入数据 同样地我们提供一个接口来处理Excel文件的导入。通过EasyExcel的读取功能我们可以将Excel文件中的数据转换为Java对象。 import com.alibaba.excel.EasyExcel; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;// ... 其他代码 ...RestController public class ExcelController {/*** 导入数据*/PostMapping(/importExcel)public Integer importData(MultipartFile file) {try {//获取文件的输入流InputStream inputStream file.getInputStream();ListUser lst EasyExcel.read(inputStream) //调用read方法//注册自定义监听器字段校验可以在监听器内实现.registerReadListener(new UserListener()).head(User.class) //对应导入的实体类.sheet(0) //导入数据的sheet页编号0代表第一个sheet页如果不填则会导入所有sheet页的数据.headRowNumber(1) //列表头行数1代表列表头有1行第二行开始为数据行.doReadSync(); //开始读Excel返回一个ListT集合继续后续入库操作//模拟导入数据库操作for (User user : lst) {Date date user.getU_birth();String form String.format(%tF, date);System.out.println(form);}return 1;} catch (IOException exception) {throw new RuntimeException(exception);}} }结语 通过本文的介绍我们学习了如何在Spring Boot项目中使用EasyExcel库来实现Excel文件的导入导出。自定义监听器的引入使得数据处理更加灵活能够应对各种复杂的业务需求。EasyExcel的简单易用和强大的功能使得Excel文件处理变得高效和便捷。在实际开发中开发者可以根据项目需求选择合适的库来实现Excel文件的处理。 如果对你有帮助点赞、收藏、关注是我更新的动力 往期精彩回顾 Spring Boot工程集成验证码生成与验证功能教程 文章浏览阅读1.3k次点赞17次收藏38次。 Spring Boot 3项目集成Swagger3教程 文章浏览阅读768次点赞8次收藏15次。 Spring Boot中实现图片上传功能的两种策略 文章浏览阅读1.1k次点赞11次收藏22次。 VS code搭建C/C运行环境简单易上手 文章浏览阅读2.7k次点赞8次收藏5次。 入门指南使用uni-app构建跨平台应用 文章浏览阅读1.2k次点赞29次收藏9次。
http://www.dnsts.com.cn/news/129697.html

相关文章:

  • 做全屏式网站尺寸是多大中企动力简介
  • 网站建设实训课实训心得响应式网站模板免费下载
  • 十三五关于网站建设2019销售网站开发与设计现状
  • 济南网站建设设计wordpress插件 标签页
  • 做网站业务员提成几个点陕西省建设网页企业信息
  • 做网站需要备案几次wordpress淘宝客防被k
  • 连锁酒店网站建设h5制作的网站
  • 网站忘了怎么办网站集群建设通知
  • 网站一般宽度是多少像素网站开发工程师认证
  • 网站开发主要做哪些自己网站让百度收录怎么搜索会展示
  • 网站用户角色湘潭网站建设 找磐石网络一流
  • 百度网站建设策划书范文怎么做网站的后台管理系统
  • 网站网页设计公司合肥专业做网站
  • 泰州网站制作报价wordpress一级域名
  • 沧州做网站公司武陟县住房和城乡建设局网站
  • 山西cms建站系统价格网站建设公司成都案例展示
  • 淮安网站设计学做网站的书哪些好
  • 汕头网站制作服务商网站服务器空间选择
  • 南昌网站外包有创意的网络营销案例
  • 哈尔滨网站制作网页wordpress固定链接标签加上页面
  • 手机怎么做弹幕小视频网站桂林 网
  • 冠县做网站哪里好做网站大型
  • 网站开发前台代码和后台代码安卓优化大师app下载
  • 北京网站建设服务器维护wordpress 支付下载
  • 郑州网站建设zzwzjs仿win8网站
  • 前端做网站使用的软件工具湛江市手机网站建设企业
  • php网站建设参考文献建筑工程机械人才培训网
  • 甜点网站里的新闻资讯怎么做wordpress排版插件
  • 帮别人做高仿产品网站 违法么网站特殊字体
  • 做a视频网站有哪些建设大型网站设计公司