苍穹外卖-Day13(Apache POI)
·
1.Apache POI
Apache POI是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用PO1在Java程序中对Miscrosoft Ofie各种文件进行读写操作。
一般情况下,POl都是用于操作 Excel 文件。
2.导出营业数据Excel报表

1.查询数据库,获取30天的概览营业数据
2.通过POI 将数据写到Excel文件中
//通过POI 将数据写到Excel文件中
InputStream in = this.getClass().getClassLoader().getResourceAsStream("template/运营数据报表模板.xlsx");
try {
XSSFWorkbook excel = new XSSFWorkbook(in);
//获取sheet
XSSFSheet sheet = excel.getSheet("Sheet1");
//填充 数据
sheet.getRow(1).getCell(1).setCellValue("时间:"+begin+"到"+end);
sheet.getRow(3).getCell(2).setCellValue(businessData.getTurnover());
sheet.getRow(3).getCell(4).setCellValue(businessData.getOrderCompletionRate());
sheet.getRow(3).getCell(6).setCellValue(businessData.getNewUsers());
sheet.getRow(4).getCell(2).setCellValue(businessData.getValidOrderCount());
sheet.getRow(4).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));
XSSFRow 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();
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)