Javascript 用js-xlsx-gives编写_fs是未定义的“;错误
我正在尝试使用将一些数组数据导出到文件 我举了一个例子,在这里放了一个JSFIDLE: 甚至可以在没有requirejs的情况下这样做吗?如果是,怎么做 HTML: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
出口
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');
};