export2Excel导出多sheet文件及自定义sheet名

export2Excel.js源码:

export function export_json_to_excel(th, jsonData, defaultTitle) {

/* original data */

var data = jsonData;
data.unshift(th);

var ws_name = "SheetJS";

var wb = new Workbook(),ws = sheet_from_array_of_arrays(data);

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

var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
var title = defaultTitle || '列表'
saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx")
}

修改后代码:

export function export_json_to_excel(th, jsonData, defaultTitle) {

var data = jsonData;
//添加标题
data[i].unshift(th)

//这里是定义sheet的名称 有几个sheet就加几个
var ws_name = ["Sheet1","Sheet2"];

var wb = new Workbook(),ws=[];
//数据转换
for (var j = 0; j < th.length; j++) {
ws.push(sheet_from_array_of_arrays(data))
}

/* add worksheet to workbook */
//生成多个sheet
for (var k = 0; k < th.length; k++) {
wb.SheetNames.push(ws_name[k])
wb.Sheets[ws_name[k]] = ws[k]
}

var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});
var title = defaultTitle || '列表'
saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx")
}

posted @ 2022-03-08 09:13  zwbsoft  阅读(993)  评论(0)    收藏  举报