1

我使用js-xlsx库。我需要写一个excel文件。因此,当我将wb变量定义为 excel 工作簿并要求js-xlsx将其写入同一个文件时

XLSX.writeFile(wb, 'out.xls');

我在浏览器控制台收到错误:

require.js:900 TypeError: Cannot read property 'writeFileSync' of undefined

XLSX.writeFile 转到js-xlsx/dist/xlsx.js 第 1340 行

_fs = require('f'+'s');

当我暂停它进行调试时,_fs 是未定义的,当然。我看不到在哪里可以找到“f”或“s”库。请帮助我理解它。

4

1 回答 1

1

尝试使用XLSX.write-- writeFile函数特定于 nodejs


  • XLSX.write(wb, filename)写入二进制字符串(-> 浏览器)

  • XLSX.writeFile(wb, filename) 节点JS函数


/* XLSX.write(wb, 'out.xls'); */

/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' */
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' };

var wbout = XLSX.write(workbook,wopts);

function s2ab(s) {
  var buf = new ArrayBuffer(s.length);
  var view = new Uint8Array(buf);
  for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
  return buf;
}

/* the saveAs call downloads a file on the local machine */
saveAs(new Blob([s2ab(wbout)],{type:""}), "test.xlsx")

https://github.com/SheetJS/js-xlsx#user-content-writing-workbooks

于 2016-09-21T14:02:20.637 回答