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

苍穹外卖项目日记(day12)

苍穹外卖|项目日记(day12)

前言: 今天的任务相对简单, 主要是熟悉一下在项目中操作Excel报表, 感觉挺简单的, 很多方法都封装好了.

总结: 今天是后端的完结, 不过还需努力, 这个项目只是入门, 还需要独自做一个项目才算初有成果,微服务, 408, 诺伊, ai都等着我呢
在这里插入图片描述

今日收获:

1.Apach POI(Excel)的入门使用

一.Apach POI(Excel)的入门使用

1. 基本概念

Apache POI 包含多个组件,其中处理 Excel 的主要有:

  • HSSF - 处理 Excel 97-2003 格式 (.xls)
  • XSSF - 处理 Excel 2007 及以上格式 (.xlsx)
  • SXSSF - XSSF 的流式 API,适用于大数据量

2. 在项目中导入依赖

<!-- 基础 POI -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.3</version>
</dependency>
<!-- XSSF 支持 -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version>
</dependency>

3.项目中使用

需填写数据的Excel图片:

在这里插入图片描述

代码示例:
@Overridepublic void export(HttpServletResponse response) {// 1.查询数据库, 获取营业数据---查询最近30天的运营数据LocalDate begin = LocalDate.now().minusDays(30);LocalDate end = LocalDate.now().minusDays(1);LocalDateTime beginTime = LocalDateTime.of(begin, LocalTime.MIN);LocalDateTime endTime = LocalDateTime.of(end, LocalTime.MAX);// 概览数据BusinessDataVO businessData = workspaceService.getBusinessData(beginTime, endTime);// 2. 通过POI将数据写入到Excel文件中InputStream InStream = this.getClass().getClassLoader().getResourceAsStream("template/运营数据报表模板.xlsx");try {XSSFWorkbook workbook = new XSSFWorkbook(InStream);XSSFSheet sheet = workbook.getSheetAt(0);// 第二行XSSFRow row1 = sheet.getRow(1);row1.getCell(1).setCellValue("时间:"+begin+"至"+end);// 第四行 概览数据填写XSSFRow row3 = sheet.getRow(3);row3.getCell(2).setCellValue(businessData.getTurnover());row3.getCell(4).setCellValue(businessData.getOrderCompletionRate());row3.getCell(6).setCellValue(businessData.getNewUsers());// 第五行, 概览数据填写XSSFRow row4 = sheet.getRow(4);row4.getCell(2).setCellValue(businessData.getValidOrderCount());row4.getCell(4).setCellValue(businessData.getUnitPrice());// 填入明细数据for (int i = 0; i < 30; i++) {LocalDate date = begin.plusDays(i);BusinessDataVO datadetail = workspaceService.getBusinessData(LocalDateTime.of(date, LocalTime.MIN), LocalDateTime.of(date, LocalTime.MAX));XSSFRow detail_row = sheet.getRow(7 + i);detail_row.getCell(1).setCellValue(date.toString());detail_row.getCell(2).setCellValue(datadetail.getTurnover());detail_row.getCell(3).setCellValue(datadetail.getValidOrderCount());detail_row.getCell(4).setCellValue(datadetail.getOrderCompletionRate());detail_row.getCell(5).setCellValue(datadetail.getUnitPrice());detail_row.getCell(6).setCellValue(datadetail.getNewUsers());}// 3. 通过输出流将Excel文件下载到客户端浏览器ServletOutputStream outputStream = response.getOutputStream();workbook.write(outputStream);workbook.close();outputStream.close();} catch (IOException e) {throw new RuntimeException(e);}}

完结撒花!!!

http://www.xdnf.cn/news/15690.html

相关文章:

  • A33-vstar报错记录:ERROR: build kernel Failed
  • 【PTA数据结构 | C语言版】我爱背单词
  • 五分钟掌握 TDengine 数据文件的工作原理
  • 鸿蒙开发--端云一体化--云对象
  • C++ 程序设计考量表
  • 人工智能day9——模块化编程概念(模块、包、导入)及常见系统模块总结和第三方模块管理
  • SGLang 推理框架核心组件解析:请求、内存与缓存的协同工作
  • mpiigaze的安装过程一
  • 美团闪购最新版 mtgsig1.2
  • 语音大模型速览(三)- cosyvoice2
  • Maven学习总结(62)—— Maven 打包瘦身和提速解决方案
  • 应急响应-Windows资源监视器
  • HTTPie: 开发者友好的http客户端工具
  • 深度学习零基础入门(3)-图像与神经网络
  • 读书笔记(学会说话)
  • 嵌入式系统内核镜像相关(十六)
  • 数据查找 二叉查找树
  • # Redis-stable 如何在Linux系统上安装和配置
  • java常见的jvm内存分析工具
  • C语言-一维数组,二维数组
  • 菱形继承 虚继承
  • 快速安装GitLab指南
  • go安装使用gin 框架
  • web3 区块链技术与用
  • 【论文精读】基于共识的分布式量子分解算法用于考虑最优传输线切换的安全约束机组组合
  • Django母婴商城项目实践(五)- 数据模型的搭建
  • UniApp TabBar 用户头像方案:绕过原生限制的实践
  • Selenium 攻略:从元素操作到 WebDriver 实战
  • STM32之L298N电机驱动模块
  • 【iOS】MRC与ARC