添加导出功能--前后端代码示例

需求:添加导出功能
1.前端代码:
导出按钮–
<el-button v-has
perm=“dataCount-fl-sync-btn1”
class=“operateBtn”
icon=“el-icon-download”
@click=“export”>导出

引入包
import * as commonMethod from “@/utils/common”;

      export(){
        let _this = this
        this.$confirm('确认导出数据?')
                .then(_ => {
                  _this.exportDevice()
                })
                .catch(_ => {
                });
          },
      exportDevice(){
        let _this = this
        var postParams = {
          substationId: _this.substationId,
        }
        commonMethod.exportFile('路径地址', postParams)
      },

2.后端代码
@PostMapping(“/exportWeb104Info”)
public void exportWeb104Info(@RequestBody Web104PointVo web104PointVo, HttpServletRequest request, HttpServletResponse response) {
try {
if (web104PointVo == null) {
return;
}
Integer pageIndex = 1;
web104PointVo.setPageNum(pageIndex);
Integer pageSize = 1040000;
web104PointVo.setPageSize(pageSize);
IPage iPage = web104Service.getWeb104Info(web104PointVo);
List vo = new ArrayList<>();
if (iPage != null) {
vo = iPage.getRecords();
}
Map<String, Object> map = new HashMap<>();
map.put(“dataList”, vo);
String basePath = new ClassPathResource(“templates”).getPath();
String excelTempFilePath = basePath + “/模版名.xlsx”;
String expFileName = “模版名.xlsx”;
ExportUtils.excelExport2(request, response, excelTempFilePath, expFileName, map);
} catch (Exception e) {
log.info(“导出信息错误”, e);
}
}

模版示例:
在这里插入图片描述

public static void excelExport2(HttpServletRequest request,
HttpServletResponse response, String excelTempFilePath,
String expFileName, Map<String, Object> datas) throws Exception {

    response.reset();

    // 文件编码转换解决文件名中文乱码
    request.setCharacterEncoding("GBK");
    // expFileName = new String(expFileName.getBytes("UTF-8"), "iso-8859-1");
    response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(expFileName, "UTF-8"));
    response.setContentType("application/vnd.ms-excel");

    TemplateExportParams params = new TemplateExportParams(excelTempFilePath);
     XSSFWorkbook sheets = new XSSFWorkbook();

    Workbook workbook = ExcelExportUtil.exportExcel(params, datas);

    OutputStream os = response.getOutputStream();
    workbook.write(os);

    // 关闭流
    os.flush();
    os.close();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值