vue将数据导出excel,多sheet页

本文介绍如何在Vue.js项目中实现数据导出为Excel文件,并且支持多个sheet页的功能。通过使用特定的库,你可以方便地将复杂的数据结构转换成易于管理的Excel表格,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	setSheetStyle(sheet,cloums){
        var s = sheet['!ref'];
        sheet.s = {
          font: {
            name: '宋体',
            sz: 18,
            color: { rgb: "#FFFF0000" },
            bold: false,
            italic: false,
            underline: false
          },
          alignment: {
            horizontal: "left",
            vertical: "left"
          }
        };
        var rows = s.substr(s.length - 1, 1);
        for (var j = 0; j < cloums.length; j++) {
          for (var i = 1; i <= rows; i++) {
            if (i == 1) {
              sheet[cloums[j] + i].s = { //样式  
                font: {
                  bold: false,
                  italic: false,
                  underline: false
                },
                alignment: {
                  horizontal: "left",
                  vertical: "left",
                  wrap_text: false
                }
              };
            }
            else {
              sheet[cloums[j] + i].s = { //样式  
                alignment: {
                  horizontal: "left",
                  vertical: "left",
                  wrap_text: false
                }
              };
            }
          }
        }
        sheet["!cols"] = [{ wpx: 150 }, { wpx: 90 }, { wpx: 150 }, { wpx: 150 }, { wpx: 180 }]; //单元格列宽 
      },
download() {
	var that = this;
	//模板类型sheet页
    var type_arry = [['类型ID', '类型']];
    //that.typeList 数据集合
    that.typeList.map(a=>{
      var typeArry = []
      typeArry.push(a.id)
      typeArry.push(a.name)
      return typeArry
    }).forEach(a=>{
      type_arry.push(a)
    })
	var sheet = XLSX.utils.aoa_to_sheet(type_arry);//类型sheet
	XLSX.utils.book_append_sheet(workbook, sheet, "类型");
	var cloums = ['A', 'B']
	that.setSheetStyle(sheet,cloums)
	//多sheet按照以上在写一组
	try {
      var wbOut = XLSX.write(workbook, { bookType: "xlsx", bookSST: true, type: "array" });
      FileSaver.saveAs(
        new Blob([wbOut], { type: "application/octet-stream" }),
        "类型模板.xlsx"
      );
    } catch (e) {
      if (typeof console !== "undefined") console.log(e, wbOut);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值