Javascript 用js-xlsx-gives编写_fs是未定义的“;错误

Javascript 用js-xlsx-gives编写_fs是未定义的“;错误,javascript,js-xlsx,Javascript,Js Xlsx,我正在尝试使用将一些数组数据导出到文件 我举了一个例子,在这里放了一个JSFIDLE: 甚至可以在没有requirejs的情况下这样做吗?如果是,怎么做 HTML: 出口 JS: 函数arrayToXlsx(){ /*原始数据*/ var数据=[[1,2,3],[true,false,null,“sheetjs”],[foo”,“bar”,“0.3”],[baz”,null,“qux”]; var ws_name=“SheetJS”; /*设置工作簿对象--将来不需要其中一些对象*/ var

我正在尝试使用将一些数组数据导出到文件

我举了一个例子,在这里放了一个JSFIDLE:

甚至可以在没有requirejs的情况下这样做吗?如果是,怎么做

HTML:


出口
JS:

函数arrayToXlsx(){
/*原始数据*/
var数据=[[1,2,3],[true,false,null,“sheetjs”],[foo”,“bar”,“0.3”],[baz”,null,“qux”];
var ws_name=“SheetJS”;
/*设置工作簿对象--将来不需要其中一些对象*/
var wb={};
wb.Sheets={};
wb.Props={};
wb.SSF={};
wb.SheetNames=[];
/*创建工作表:*/
var-ws={};
/*范围对象用于跟踪图纸的范围*/
var range={s:{c:0,r:0},e:{c:0,r:0};
/*遍历结构中的每个元素*/
对于(var R=0;R!==data.length;++R){
如果(范围e.r
xlsx
库有两个函数用于写入文件
write
writeFile
writeFile
方程实现节点
fs
模块,因此拟在节点环境中使用。或者,
write
是使用客户端javascript实现的,因此在您的环境中可能更有用。即:

写入(wb,{bookType:'xlsx',bookst:false,type:'binary'});

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2014-11-29/FileSaver.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.core.min.js"></script>
<button onclick="arrayToXlsx()">Export</button>
function arrayToXlsx() {
    /* original data */
    var data = [[1,2,3],[true, false, null, "sheetjs"],["foo","bar","0.3"], ["baz", null, "qux"]];
    var ws_name = "SheetJS";

    /* set up workbook objects -- some of these will not be required in the future */
    var wb = {};
    wb.Sheets = {};
    wb.Props = {};
    wb.SSF = {};
    wb.SheetNames = [];

    /* create worksheet: */
    var ws = {};

    /* the range object is used to keep track of the range of the sheet */
    var range = {s: {c:0, r:0}, e: {c:0, r:0 }};

    /* Iterate through each element in the structure */
    for(var R = 0; R !== data.length; ++R) {
      if(range.e.r < R) range.e.r = R;
      for(var C = 0; C !== data[R].length; ++C) {
        if(range.e.c < C) range.e.c = C;

        /* create cell object: .v is the actual data */
        var cell = { v: data[R][C] };
        if(cell.v === null) continue;

        /* create the correct cell reference */
        var cell_ref = XLSX.utils.encode_cell({c:C,r:R});

        /* determine the cell type */
        if(typeof cell.v === 'number') cell.t = 'n';
        else if(typeof cell.v === 'boolean') cell.t = 'b';
        else cell.t = 's';

        /* add to structure */
        ws[cell_ref] = cell;
      }
    }
    ws['!ref'] = XLSX.utils.encode_range(range);

    /* add worksheet to workbook */
    wb.SheetNames.push(ws_name);
    wb.Sheets[ws_name] = ws;

    /* write file */
    XLSX.writeFile(wb, 'test.xlsx');
};