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

山东省住房城乡和建设厅网站高端网站建设教程

山东省住房城乡和建设厅网站,高端网站建设教程,做天猫网站要多少钱,wordpress onetone导出运营数据Excel报表 需求分析和设计 产品原型 在数据统计页面,有一个数据导出的按钮,点击该按钮时,其实就会下载一个文件。这个文件实际上是一个Excel形式的文件,文件中主要包含最近30日运营相关的数据。表格的形式已经固定…

导出运营数据Excel报表

需求分析和设计

产品原型

在数据统计页面,有一个数据导出的按钮,点击该按钮时,其实就会下载一个文件。这个文件实际上是一个Excel形式的文件,文件中主要包含最近30日运营相关的数据。表格的形式已经固定,主要由概览数据和明细数据两部分组成。真正导出这个报表之后,相对应的数字就会填充在表格中,就可以进行存档。

业务规则:

  • 导出Excel形式的报表文件
  • 导出最近30天的运营数据

注意:

  • 当前接口没有传递参数,因为导出的是最近30天的运营数据,后端计算即可,所以不需要任何参数

  • 当前接口没有返回数据,因为报表导出功能本质上是文件下载,服务端会通过输出流将Excel文件下载到客户端浏览器

代码开发

实现步骤

1). 设计Excel模板文件

2). 查询近30天的运营数据

3). 将查询到的运营数据写入模板文件

4). 通过输出流将Excel文件下载到客户端浏览器

Controller层

根据接口定义,在ReportController中创建export方法:

	/*** 导出运营数据报表* @param response*/@GetMapping("/export")@ApiOperation("导出运营数据报表")public void export(HttpServletResponse response){reportService.exportBusinessData(response);}
Service层接口

在ReportService接口中声明导出运营数据报表的方法:

	/*** 导出近30天的运营数据报表* @param response**/void exportBusinessData(HttpServletResponse response);
Service层实现类

在ReportServiceImpl实现类中实现导出运营数据报表的方法:

提前将资料中的运营数据报表模板.xlsx拷贝到项目的resources/template目录中

    /**导出近30天的运营数据报表* @param response**/public void exportBusinessData(HttpServletResponse response) {LocalDate begin = LocalDate.now().minusDays(30);LocalDate end = LocalDate.now().minusDays(1);//查询概览运营数据,提供给Excel模板文件BusinessDataVO businessData = workspaceService.getBusinessData(LocalDateTime.of(begin,LocalTime.MIN), LocalDateTime.of(end, LocalTime.MAX));InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/运营数据报表模板.xlsx");try {//基于提供好的模板文件创建一个新的Excel表格对象XSSFWorkbook excel = new XSSFWorkbook(inputStream);//获得Excel文件中的一个Sheet页XSSFSheet sheet = excel.getSheet("Sheet1");sheet.getRow(1).getCell(1).setCellValue(begin + "至" + end);//获得第4行XSSFRow row = sheet.getRow(3);//获取单元格row.getCell(2).setCellValue(businessData.getTurnover());row.getCell(4).setCellValue(businessData.getOrderCompletionRate());row.getCell(6).setCellValue(businessData.getNewUsers());row = sheet.getRow(4);row.getCell(2).setCellValue(businessData.getValidOrderCount());row.getCell(4).setCellValue(businessData.getUnitPrice());for (int i = 0; i < 30; i++) {LocalDate date = begin.plusDays(i);//准备明细数据businessData = workspaceService.getBusinessData(LocalDateTime.of(date,LocalTime.MIN), LocalDateTime.of(date, LocalTime.MAX));row = sheet.getRow(7 + i);row.getCell(1).setCellValue(date.toString());row.getCell(2).setCellValue(businessData.getTurnover());row.getCell(3).setCellValue(businessData.getValidOrderCount());row.getCell(4).setCellValue(businessData.getOrderCompletionRate());row.getCell(5).setCellValue(businessData.getUnitPrice());row.getCell(6).setCellValue(businessData.getNewUsers());}//通过输出流将文件下载到客户端浏览器中ServletOutputStream out = response.getOutputStream();excel.write(out);//关闭资源out.flush();out.close();excel.close();}catch (IOException e){e.printStackTrace();}}
http://www.yayakq.cn/news/298044/

相关文章:

  • 成都网站登记备案查询学vue可以做pc网站
  • 江北区网站建设色盲和色弱的区别
  • 建设网站需要准备哪些内容wordpress打开置顶文章没用
  • 美食网站建设项目分析报告羊肉口报关做网站
  • 网站建设广告投放是什么淘宝客自己做网站吗
  • 宿迁市区建设局网站贸易网站怎么做
  • 新沂建设网站网站信息更新如何做
  • 铁岭哪家做营销型网站微信分销网站建设官网
  • 营销网站建设网站开发科技备案企业网站
  • 报考建设八大员官方网站省建设厅网站安全生产标准化
  • 龙岗区住房和建设局在线网站厦门网站建设找哪家
  • 雄安优秀网站建设公司网页一键转换wordpress
  • 做餐厅logo什么网站素材多wordpress 登录背景
  • 一个虚拟主机空间挂两个网站宣传网站建设方案
  • 机械制造网站土木毕业设计代做网站
  • 学校网站资源建设哈尔滨快速制作网站
  • 网站模板 首饰预定怎么在百度上做推广
  • 黑龙江省建设工程招标网站设计素材网站知乎
  • 做网站哪家专业房地产开发商是干什么的
  • 辽阳企业网站建设价格html网页模板网站
  • 网站开发毕设文献网站首页代码模板
  • 大理建设局网站网页制作与设计简称
  • 全景网站开发待遇wordpress 获取标题
  • 沧州市网站建设电话域名服务dns的主要功能是
  • asp 大型网站开发网站微信分享怎么做
  • 谁分享一个免费网站2021wordpress发不了邮件
  • 网站还没上线怎么做品牌推广营销策略方案
  • 泉山区城乡建设局网站360网站推广官网网址
  • 喜迎二十大演讲稿seo优化流程
  • APP编辑WordPress引擎优化是什么意思