From 84d046dc899853dd475768b6bee01e136deda432 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期四, 26 六月 2025 20:29:51 +0800 Subject: [PATCH] 设备器件excel库存信息导出 --- src/main/java/com/whyc/service/DeviceSpareService.java | 38 +++++++++++++++++++++++++++++++++----- src/main/java/com/whyc/controller/DeviceSpareController.java | 7 +++++++ src/main/resources/excel_templates/template_device_spare.xlsx | 0 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/whyc/controller/DeviceSpareController.java b/src/main/java/com/whyc/controller/DeviceSpareController.java index bda2800..58ca625 100644 --- a/src/main/java/com/whyc/controller/DeviceSpareController.java +++ b/src/main/java/com/whyc/controller/DeviceSpareController.java @@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @@ -48,6 +49,12 @@ return service.addByExcel(file); } + @ApiOperation("excel瀵煎嚭") + @GetMapping("excelExport") + public void excelExport(HttpServletResponse response) { + service.excelExport(response); + } + @PostMapping("update") @ApiOperation("淇敼") diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java index c8060d0..a52413a 100644 --- a/src/main/java/com/whyc/service/DeviceSpareService.java +++ b/src/main/java/com/whyc/service/DeviceSpareService.java @@ -1,8 +1,9 @@ package com.whyc.service; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -13,21 +14,23 @@ import com.whyc.util.CommonUtil; import com.whyc.util.ThreadLocalUtil; import org.apache.commons.lang.StringUtils; -import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; @Service public class DeviceSpareService { @@ -319,4 +322,29 @@ private void updateQuantityAndPictureBatch(List<DeviceSpare> spareListUpdate) { mapper.updateQuantityAndPictureBatch(spareListUpdate); } + + public void excelExport(HttpServletResponse response) { + //鏌ヨ鎵�鏈夌殑璁惧鍣ㄤ欢 + List<DeviceSpare> deviceSpareList = mapper.selectList((Wrapper<DeviceSpare>) CommonUtil.nullObject); + //鑾峰彇瀵煎嚭妯℃澘鍦板潃 + ClassPathResource classPathResource = new ClassPathResource("excel_templates/template_device_spare.xlsx"); + String path = classPathResource.getPath(); + TemplateExportParams templateExportParams1 = new TemplateExportParams(path,true); + // 鏋勫缓瀵煎嚭鏁版嵁妯″瀷 + Map<String, Object> map = new HashMap<>(); + map.put("deviceSpareList", deviceSpareList); // 鍋囪妯℃澘涓娇鐢� ${deviceSpareList} 浣滀负鍙橀噺鍚� + + Workbook wb = ExcelExportUtil.exportExcel(templateExportParams1, map); + try { + LocalDateTime now = LocalDateTime.now(); + String fileName = "缁翠慨绠$悊鍣ㄤ欢搴撳瓨_"+now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".xlsx"; + response.setContentType("application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); + response.flushBuffer(); + wb.write(response.getOutputStream()); + } catch (IOException e) { + e.printStackTrace(); + } + + } } diff --git a/src/main/resources/excel_templates/template_device_spare.xlsx b/src/main/resources/excel_templates/template_device_spare.xlsx new file mode 100644 index 0000000..d72e489 --- /dev/null +++ b/src/main/resources/excel_templates/template_device_spare.xlsx Binary files differ -- Gitblit v1.9.1