public void exprotBusinessData(HttpServletResponse httpServletResponse) {
// 1. 查询数据库
LocalDateTime begin=LocalDateTime.of(LocalDate.now().minusDays(30),LocalTime.MIN);
LocalDateTime end=LocalDateTime.of(LocalDate.now().minusDays(1),LocalTime.MAX);
BusinessDataVO businessData = workspaceService.getBusinessData(begin, end);
// 2. 写入excel
try {
// 获取模版--从本地
InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream("template/excel.xlsx");// 通过反射机制获取文件输入流
XSSFWorkbook excel = new XSSFWorkbook(resourceAsStream); // 从该输入流管道内获取excel文件对象excel -- XSSFWorkbook
// 填充数据
XSSFSheet sheet1 = excel.getSheet("Sheet1"); // 根据表格页名获取表格页对象sheet1 -- XSSFSheet
sheet1.getRow(1) // 根据行索引获取行对象row -- XSSFRow
.getCell(1) // 根据列索引获取单元格对象cell -- XSSFCell
.setCellValue("时间:"+begin+"至"+end); // 根据单元格对象设置单元格值
XSSFRow row4=sheet1.getRow(3);
row4.getCell(2).setCellValue(businessData.getTurnover());
row4.getCell(4).setCellValue(businessData.getOrderCompletionRate());
row4.getCell(6).setCellValue(businessData.getNewUsers());
XSSFRow row5=sheet1.getRow(4);
row5.getCell(2).setCellValue(businessData.getValidOrderCount());
row5.getCell(4).setCellValue(businessData.getUnitPrice());
// 3. 将文件下载给客户端浏览器
ServletOutputStream outputStream=httpServletResponse.getOutputStream(); // 获取接通客户端的数据输出流通道
excel.write(outputStream); // 将excel文件内容写入该通道 --> 传输到客户端
} catch (Exception e) {
e.printStackTrace();
}