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

徐州网站开发如何seo系统优化

徐州网站开发如何,seo系统优化,网站大数据怎么做的,海外服务器哪家好前言 前面给大家介绍了动态表头的导入,这篇文章给大家介绍如何实现导出 前面给大家介绍了动态表头的导入,我们了解了如何通过EasyExcel灵活地读取结构不固定的Excel文件。这次,我们将目光转向数据导出——即如何将数据以Excel文件的形式输出…

前言

前面给大家介绍了动态表头的导入,这篇文章给大家介绍如何实现导出

前面给大家介绍了动态表头的导入,我们了解了如何通过EasyExcel灵活地读取结构不固定的Excel文件。这次,我们将目光转向数据导出——即如何将数据以Excel文件的形式输出给用户。这在很多应用场景中都非常有用,比如报表生成、数据备份和迁移等。下面我将详细讲解如何在Spring Boot应用中使用EasyExcel来实现数据的导出功能。

首先先上EasyExcel的官网:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网

1. 添加依赖

        首先,我们需要确保项目中已经包含了EasyExcel的依赖。如果你还没有添加,请打开pom.xml文件,并加入以下Maven依赖:

<dependency><groupId>com.alibaba.easyexcel</groupId><artifactId>easyexcel</artifactId><version>2.2.3</version>
</dependency>

请根据你的项目需求选择合适的版本号,通常建议使用最新稳定版。

 2.实现

controller层

        在Controller层中,我们定义了一个处理导出请求的API端点。该方法接收一个HTTP POST请求,并根据传入的参数(DataFromVo)调用服务层的方法来执行具体的导出逻辑。

/*** 导出检查计划数据* @author zqx* @date 2023/12/6 17:48*/
@RestController
@RequestMapping("/inspection")
public class InspectionPlanController {@Autowiredprivate SiteInspectPlanHomeService siteInspectPlanHomeService;/*** 导出检查计划信息为Excel文件。** @param request  HTTP请求对象,用于获取请求信息。* @param response HTTP响应对象,用于设置响应头和写出文件流。* @param dataFromVo 包含查询条件的数据传输对象。*/@PostMapping("/exportInspectionPlan")@ApiOperation(value = "导出检查计划信息", notes = "将检查计划信息导出为Excel文件")public void exportInspectionPlan(HttpServletRequest request, HttpServletResponse response, @RequestBody DataFromVo dataFromVo) {log.info("执行了POST请求");log.info("参数:{}", dataFromVo);siteInspectPlanHomeService.exportInspectionPlan(request, response, dataFromVo);}
}

创建实体类

        为了使EasyExcel能够正确地映射Java对象到Excel表格中的列,我们需要创建一个与Excel结构相匹配的实体类。这里我们使用ExportPlanInformationVo作为示例。

/*** 导出信息对象* @Author zqx* @Date 2023/12/6 9:26*/
@Data
@HeadRowHeight(30) // 设置头部行高
@ContentRowHeight(25) // 设置内容行高
@ColumnWidth(20) // 设置列宽
@HeadFontStyle(fontName = "宋体", fontHeightInPoints = 11)
public class ExportPlanInformationVo implements Serializable {@ApiModelProperty("名称")@ExcelProperty("名称")private String planName;@ApiModelProperty("类型")@Dict(code = "inspectionType", fieldName = "inspectionTypeName")@ExcelProperty("类型")private String inspectionType;@ApiModelProperty("主题名称")@ExcelProperty("主题")private String themeName;@ApiModelProperty("计划起止时间")@ExcelProperty("计划起止时间")private String startEndTime;@ApiModelProperty("年度")@ExcelProperty("年度")private String inspectionYear;@ApiModelProperty("单位数量")@ExcelProperty("单位数量")private String orgNoCount;@ApiModelProperty("户数")@ExcelProperty("户数")private String taskNum;@ApiModelProperty("已完成户数")@ExcelProperty("已完成户数")private String completedNumber;@ApiModelProperty("完成率")@ExcelProperty("完成率")private String inspectionCompletionRate;@ApiModelProperty("超期状态")@ExcelProperty("超期状态")private String isItOverdue;@ApiModelProperty("状态")@Dict(code = "planStatus", fieldName = "planStatusName")@ExcelProperty("状态")private String planStatus;@ApiModelProperty("创建时间")@ExcelProperty("创建时间")private String createTime;@ApiModelProperty("结束日期")@ExcelIgnore // 忽略此字段不输出到Excel中private String endTime;
}

Service 层

        在Service层中,我们将具体实现导出逻辑。这个例子展示了如何准备要导出的数据,并通过EasyExcel库将其写入HTTP响应流中,以便用户可以下载生成的Excel文件。

@Service
public class SiteInspectPlanHomeService {/*** 导出检查计划信息为Excel文件。** @param request  HTTP请求对象,用于获取请求信息。* @param response HTTP响应对象,用于设置响应头和写出文件流。* @param dataFromVo 包含查询条件的数据传输对象。*/@Overridepublic void exportInspectionPlan(HttpServletRequest request, HttpServletResponse response, DataFromVo dataFromVo) {try {// 根据业务需求处理dataFromVo并获取要导出的数据列表List<ExportPlanInformationVo> planVos = prepareDataForExport(dataFromVo);// 给文件命名String fileName = "现场巡视计划报表";// 设置响应内容类型为Excel格式,并编码防止中文乱码问题response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("UTF-8");// 设置文件名并处理URL编码fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");// 文件下载方式(附件下载还是在当前浏览器打开)response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");// 使用EasyExcel进行数据写入操作EasyExcel.write(response.getOutputStream(), ExportPlanInformationVo.class).sheet("现场巡视计划报表") // 指定工作表名称.doWrite(planVos); // 写入数据到Excel文件} catch (Exception e) {log.error("导出过程中出现错误 {}", e);throw new RuntimeException("导出失败,请稍后再试!");}}/*** 准备要导出的数据。** @param dataFromVo 查询条件* @return 要导出的数据列表*/private List<ExportPlanInformationVo> prepareDataForExport(DataFromVo dataFromVo) {// 这里需要根据你的业务逻辑去查询数据库或其它数据源,并转换成ExportPlanInformationVo列表// 示例代码:List<ExportPlanInformationVo> planVos = new ArrayList<>();// 填充数据...return planVos;}
}

        最后 

        上述代码段详细描述了如何在Spring Boot应用程序中集成EasyExcel以实现检查计划信息的导出功能。每个部分都包含了必要的注释和说明,确保开发者能够理解每一行代码的作用以及整个流程的工作原理。此外,还特别注意了对异常情况的处理,保证即使发生错误也能够给出适当的反馈信息。

http://www.zhongyajixie.com/news/29524.html

相关文章:

  • 网站做icp备案有哪些好处热搜榜排名今日
  • 微网站建设多少钱百度指数pc版
  • 手机营销网站制作google安卓手机下载
  • 系统网站建设需求分析竞价开户推广
  • 网页游戏大全小游戏网站建设seo优化培训
  • windows系统做ppt下载网站灰色词seo推广
  • 网站源码上传到哪个文件夹投放广告找什么平台
  • 网站打开慢怎么回事最新的全国疫情数据
  • php 上传网站国内网站排名
  • 网站建设需要些什么资料最新的网络营销方式
  • 网站网页制作及优化培训机构哪家最好
  • 网站技术部做什么滨州网站建设
  • js写的网站怎么做seo平台推广销售话术
  • wordpress 4.2.2杭州关键词优化外包
  • 专业制作网站推荐外贸营销型网站制作
  • 广州网站建设加q479185700三只松鼠口碑营销案例
  • 如何k掉别人的网站网络营销课程速成班
  • 怎样设计一个网站平台品牌型网站设计推荐
  • 网站建设实践论文优化公司排名
  • 潍坊网站制作人才招聘山西seo谷歌关键词优化工具
  • 广州口碑好的网站建设设计培训班招生方案有哪些
  • 谁可以教我做网站网上电商平台开发
  • 制作网页入门软件赣州seo培训
  • 金寨县建设规划局网站搜索引擎seo排名优化
  • 前端代码大全东莞seo推广机构帖子
  • 网站开发有哪些常用工具新闻稿发布
  • 县政府网站建设总结企业优化推广
  • 厦门跨境电商前十深圳seo排名优化
  • 网站开发网校个人免费域名注册网站
  • 学做网站看那个网泉州网站建设