spreadjs学习笔记

414 阅读1分钟

最近在学习使用spreadjs,记录一下学习笔记,今天记录下(获取整个表格,渲染后台数据,下载excel文件)

虽然项目是vue,但是是以js形式导入进去,初始化代码为:

designer.value = new GC.Spread.Sheets.Designer.Designer(document.getElementById("airTest")); spread.value = designer.value.getWorkbook(););

上面代码spread.value则个在线的编辑表单,为整个表单导入后台的数据代码则为:

const {datas} = await requestGet('/excelEnter/genSsjson/1671934153762716544') spread.value.fromJSON(JSON.parse(datas));

下载excel表单文件代码为:

let spread = workbook.value;
  let excelIo = new GC.Spread.Excel.IO();
  let fileName = "air4444.xlsx";
  let json = spread.toJSON();
  excelIo.save(
    json,
    function (blob) {
      console.warn(blob);
      var downloadElement = document.createElement("a"); //创建一个a 虚拟标签
      var href = window.URL.createObjectURL(blob); // 创建下载的链接
      downloadElement.href = href;
      downloadElement.download = fileName;

      document.body.appendChild(downloadElement);
      downloadElement.click(); // 点击下载
      document.body.removeChild(downloadElement); // 下载完成移除元素
      window.URL.revokeObjectURL(href);

      // saveAs(blob, fileName);
    },
    function (e) {
      // process error
      console.log(e);
    },
    {}
  );