ejsExcel icon indicating copy to clipboard operation
ejsExcel copied to clipboard

是否可以添加浏览器支持?

Open Nayacco opened this issue 5 years ago • 3 comments

js-xlsx提供一些api可以在浏览器中使用,所以技术上是否可行?感觉只有解压的部分用浏览器api替换掉nodejs的api就可以了,后续解析模板的代码是否用到了nodejs呢?

Nayacco avatar Dec 13 '19 03:12 Nayacco

最早我自己的运行环境肯定是nodejs, 所以只考虑了nodejs的运行环境 可以考虑一下开个新项目, 做到同时兼容浏览器

sail-sail avatar Dec 13 '19 14:12 sail-sail

因为后台可能是java或php,所以更希望前端就能搞定模板渲染,后台只负责提供数据

Nayacco avatar Dec 13 '19 17:12 Nayacco

我目前在VUE中使用了ejsExcel,另,方便的话看下 #70 先安装包'jszip-utils'和'file-saver',然后导入

import JSZipUtils from 'jszip-utils'
import { saveAs } from 'file-saver'
      //生成Excel文件
      const that = this
      const ejsexcel = require("ejsexcel");
      (async function() {
        //不写这一行导出会出错
        if(window.setImmediate === undefined)window.setImmediate = f=>setTimeout(f,0)
        const exlBuf = await JSZipUtils.getBinaryContent('Template/' + that.xlsxName + '.xlsx')
        const exlBuf2 = await ejsexcel.renderExcel(Buffer.from(exlBuf), xlsData);
        saveAs(new Blob([exlBuf2]) , that.xlsxName + '.xlsx')
      })();

zhaohuiyingxue avatar Dec 09 '20 05:12 zhaohuiyingxue