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

公司网站设计费计入什么科目php网站搭建

公司网站设计费计入什么科目,php网站搭建,营销app,百度第三季度财报2022前言 本篇文章是学习B站黑马程序员苍穹外卖的学习笔记📑。我的学习路线是Java基础语法-JavaWeb-做项目,管理端的功能学习完之后,就进入到了用户端微信小程序的开发,用户端开发的流程大致为用户登录—商品浏览(其中涉及…

前言

本篇文章是学习B站黑马程序员苍穹外卖的学习笔记📑。我的学习路线是Java基础语法-JavaWeb-做项目,管理端的功能学习完之后,就进入到了用户端微信小程序的开发,用户端开发的流程大致为用户登录—商品浏览(其中涉及到缓存,之前写过)—添加/查看/清空购物车—下单支付(到现在没搞懂😵‍💫)—地址簿—订单查询/超时/取消处理(巨多)…还有我没学到的🤪🤪,统计功能实现之后,为了方便商家了解运营数据,我们一般以Excel表格的形式呈现出我们想要的数据,方便观看。

🙌先来认识一个新工具—Apache POI?

Apache POI(Poor Obfuscation Implementation)是 Apache 软件基金会的一个开源 Java 库。它的主要功能是读取、创建和操作 Microsoft Office 格式的文件,特别是:

Excel 文件(.xls 和 .xlsx)
Word 文件(.docx)
PowerPoint 文件(.pptx)
以及其他一些 Office 格式(如 Visio .vsd 等)

通过一个测试代码来看一下怎么使用Apache POI来创建Excel表格🤔

👍通过POI创建Excel文件并且写入文件指定内容

  1. 导入Maven
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId>
</dependency>
  1. 创建测试类:
package com.sky.test;...public class POITest {/** 通过POI创建Excel文件并且写入文件内容* */@Testpublic void writeTest() throws IOException {//在内存中创建一个Excel文件XSSFWorkbook excel = new XSSFWorkbook();//在Excel文件中创建一个Sheet页XSSFSheet sheet = excel.createSheet("info");//在Sheet中创建行对象,rownum编号从0开始XSSFRow row = sheet.createRow(1); //1代表第2行row.createCell(1).setCellValue("姓名");//创建单元格写入内容row.createCell(2).setCellValue("城市");//创建一个新行row = sheet.createRow(2);//第3行row.createCell(1).setCellValue("hhh");//创建单元格写入内容row.createCell(2).setCellValue("xxx");row = sheet.createRow(3);//第4行row.createCell(1).setCellValue("hhhh");//创建单元格写入内容row.createCell(2).setCellValue("xxxx");//上面写的都是在内存,现在想在磁盘看到FileOutputStream out = new FileOutputStream(new File("D://hhh/hhhh.xlsx"));//设置文件excel.write(out);//写入到文件//关闭资源out.close();excel.close();}
}

来看看实现:
在这里插入图片描述

✌️将读取磁盘上已经存在的Excel文件

@Test
public void readTest() throws IOException{FileInputStream in = new FileInputStream(new File("D://hhh/hhhh.xlsx"));//读取磁盘上已经存在的Excel文件XSSFWorkbook excel = new XSSFWorkbook(in);//读取Excel文件中的第一个Sheet页XSSFSheet sheet = excel.getSheetAt(0);//获取Sheet中最后一行行号int lastRowNum = sheet.getLastRowNum();for(int i=1;i<=lastRowNum;i++){//获得某一行XSSFRow row = sheet.getRow(i);//获得单元格对象String cellValue1 = row.getCell(1).getStringCellValue();String cellValue2 = row.getCell(2).getStringCellValue();System.out.println(cellValue1+" "+cellValue2);}//关闭资源in.close();}

来看看实现:
在这里插入图片描述

✅我用ai总结了一下上面所用的Apache POI 组件,每个组件针对特定的 Office 格式或技术::

1. XSSFWorkbook:

用途: 代表一个 Excel .xlsx 格式的工作簿(整个文件)。它是所有操作的起点和容器。无论是读还是写,都需要先创建或加载一个 XSSFWorkbook 实例。

写入: 使用 new XSSFWorkbook() 在内存中创建一个新的工作簿。
读取: 使用 new XSSFWorkbook(InputStream) 从已存在的文件流加载一个现有的工作簿。

3. XSSFSheet:
用途: 代表工作簿中的一个工作表(Sheet)。

写入: 使用 workbook.createSheet(“name”) 创建一个新的工作表。
读取: 使用 workbook.getSheetAt(index) 或 workbook.getSheet(“name”) 获取一个已存在的工作表。

4. XSSFRow:
用途: 代表工作表中的一行。
写入: 使用 sheet.createRow(rowIndex) 在指定行号(从0开始)创建一个新行。
读取: 使用 sheet.getRow(rowIndex) 获取指定行号的行对象。

5. XSSFCell:
用途: 代表行中的一个单元格。

写入: 使用 row.createCell(cellIndex) 在指定列号(从0开始)创建一个新单元格。
读取: 使用 row.getCell(cellIndex) 获取指定列号的单元格对象。

最后我们来看看项目中(导出Excel表) 代码开发

首先还是来看看前端,来看功能:
在这里插入图片描述
在统计界面的右上角有一个小按钮(数据导出),点击后,我们的前端便可把要统计的数据传给我们的后端,后端再返回一个Excel数据表

🙌在写代码前,先做一个准备工作:

先设计一个运营数据报表模板:

在这里插入图片描述
再在resources下面创建一个template包,然后把运营数据报表模板.xlsx复制进去。

在这里插入图片描述

admin下的ReportController类:

 /*** 导出Excel* @param response*/@GetMapping("/export")@ApiOperation("导出Excel")public void export(HttpServletResponse response) {reportService.exportBusinessData(response);}

ReportService类:

    /*** 导出营业数据* @param response*/void exportBusinessData(HttpServletResponse response);
}

ReportServiceImpl类:

@Overridepublic void exportBusinessData(HttpServletResponse response) {//1.查询数据库,获取数据 查询最近30天的营业数据LocalDate dateBegin = LocalDate.now().minusDays(30);LocalDate dateEnd = LocalDate.now().minusDays(1);//查询概览 数据BusinessDataVO businessDataVO = workspaceService.getBusinessData(LocalDateTime.of(dateBegin, LocalTime.MIN),LocalDateTime.of(dateEnd, LocalTime.MAX));//2.通过POI将数据输出到Excel文件中InputStream in =this.getClass().getClassLoader().getResourceAsStream("template/运营数据报表模板.xlsx");try {//基于模板文件创建一个Excel表格对象XSSFWorkbook excel = new XSSFWorkbook(in);//填充数据-表格文件的sheet标签页XSSFSheet sheet =excel.getSheet("Sheet1");//填充数据-“时间”列sheet.getRow(1).getCell(1).setCellValue("时间:"+dateBegin+"至"+dateEnd);//填充数据-“营业额”列XSSFRow row =sheet.getRow(3);row.getCell(2).setCellValue(businessDataVO.getTurnover());row.getCell(4).setCellValue(businessDataVO.getOrderCompletionRate());row.getCell(6).setCellValue(businessDataVO.getNewUsers());//填充数据-“有效订单数”列row = sheet.getRow(4);row.getCell(2).setCellValue(businessDataVO.getValidOrderCount());row.getCell(4).setCellValue(businessDataVO.getUnitPrice());//填充明细数据for(int i = 0; i < 30; i++){LocalDate date = dateBegin.plusDays(i);//查询某一天的营业数据BusinessDataVO 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());}//3.使用输出流将Excel文件下载到客户端ServletOutputStream out = response.getOutputStream();excel.write(out);//释放资源out.close();excel.close();} catch (IOException e) {e.printStackTrace();}}

小白啊!!!写的不好轻喷啊🤯如果觉得写的不好,点个赞吧🤪(批评是我写作的动力)

…。。。。。。。。。。。…请添加图片描述

…。。。。。。。。。。。…

http://www.dtcms.com/a/433476.html

相关文章:

  • 关键词密度查询站长工具江阴网站建设培训
  • 中国机械加工网官方网站的wordpress主机名
  • 网站建设方案之目标网站建设执招标评分表
  • 商业计划的网站建设费用营销系统四大系统
  • 网站后台登陆不了哪个网站是可以做书的
  • 深圳深圳做网站长沙做网站哪里好
  • 公明做企业网站安徽安庆邮编
  • 网站建设的定位是什么意思wordpress手机号登陆
  • 青岛网站公司厚街商城网站建设
  • 深圳营销型网站建设电话漳州网站建设 林
  • 站长之家下载湖州市南浔区建设局网站
  • 深圳极速网站建设报价google play商店
  • 哪里可以免费建设网站品牌建设计划书
  • 蒙古网站群建设餐饮网站建设服务器
  • 韩国设计app网站有哪些做网站行情
  • 5050众筹网站开发常德德山经开区建设局网站
  • 德化住房和城乡建设网站鄂州官方网站
  • 校园加盟网站建设超低价的锦州网站建设
  • 网泰网站建设wordpress打开邮箱
  • 潍坊网站开发公司班级网站首页怎么做
  • 做暧暧视频免费网站章丘网站优化
  • 专做化妆品的网站港南网站建设
  • 古典水墨网站遇到钓鱼网站怎么做
  • 深圳专业专业网站设计公司一般网站服务器
  • vi设计公司 焕识湖南关键词优化推荐
  • 网站建设word文档嵌入式软件开发工程师培训
  • 济南网站制作培训班成都市网站建
  • 网站设计属于什么经营范围多用户商城系统的效果
  • 郑州市建网站不得不知道网站
  • Tailwind预定义样式类(框架内置)(文本样式类、布局与间距类(弹性布局、网格布局)、颜色类、响应式设计类)任意值(Arbitrary Values)功能