1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| import XLSX from "xlsx"; export function sheet2blob(sheet: any, sheetName?: any) { sheetName = sheetName || "sheet1"; var workbook: any = { SheetNames: [sheetName], Sheets: {}, }; workbook.Sheets[sheetName] = sheet;
var wopts: any = { bookType: "xlsx", bookSST: false, type: "binary", }; var wbout = XLSX.write(workbook, wopts); var blob = new Blob([s2ab(wbout)], { type: "application/octet-stream", }); function s2ab(s: any) { 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; } return blob; }
export function openDownloadDialog(url: any, saveName: any) { if (typeof url == "object" && url instanceof Blob) { url = URL.createObjectURL(url); } var aLink = document.createElement("a"); aLink.href = url; aLink.download = saveName || ""; var event; if (window.MouseEvent) event = new MouseEvent("click"); else { event = document.createEvent("MouseEvents"); event.initMouseEvent( "click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null ); } aLink.dispatchEvent(event); }
|