新火炬后端单体项目初始化代码
cuijian
2025-07-01 ffa5afb4e38d577c85813f48e41696f0c569c7a7
src/main/java/org/jeecg/modules/base/controller/SupplierController.java
@@ -1,5 +1,7 @@
package org.jeecg.modules.base.controller;
import java.io.File;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -9,6 +11,9 @@
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.query.QueryGenerator;
@@ -191,4 +196,31 @@
       return Result.ok("操作成功!");
    }
    /**
     * 导入模板下载
     *
     */
    @RequestMapping(value = "/loadTemplate")
    public void loadTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException {
       Map<String,String[]> req = request.getParameterMap();
       Workbook workbook = WorkbookFactory.create(new File("D:\\opt\\upFiles\\供应商信息导入模板.xlsx"));
       //导出Workbook
       //设置响应头
       String fileName = "供应商信息导入模板.xlsx";
       // 对文件名进行URL编码,防止中文乱码
       String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
       response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
       response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName);
       // 将Workbook写入响应输出流
       try { // try-with-resources自动关闭资源
          workbook.write(response.getOutputStream());
          response.flushBuffer();
       } catch (IOException e) {
          // 异常处理(如记录日志)
          throw new IOException("下载模板失败", e);
       }
    }
}