deno.land / x / sheetjs@v0.18.3 / demos / vue / SheetJS-vue.js

SheetJS-vue.js
نووسراو ببینە
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
59
60
61
62
63
64
65
66
67
68
69
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */var SheetJSFT = [ "xlsx", "xlsb", "xlsm", "xls", "xml", "csv", "txt", "ods", "fods", "uos", "sylk", "dif", "dbf", "prn", "qpw", "123", "wb*", "wq*", "html", "htm"].map(function(x) { return "." + x; }).join(",");
var SJSTemplate = [ '<div>', '<input type="file" multiple="false" id="sheetjs-input" accept="' + SheetJSFT + '" @change="onchange" />', '<br/>', '<button type="button" id="export-table" style="visibility:hidden" @click="onexport">Export to XLSX</button>', '<br/>', '<div id="out-table"></div>', '</div>'].join("");var component_struct = { template: SJSTemplate, methods: { onchange: function(evt) { var file; var files = evt.target.files;
if (!files || files.length == 0) return;
file = files[0];
var reader = new FileReader(); reader.onload = function (e) { // pre-process data var binary = ""; var bytes = new Uint8Array(e.target.result); var length = bytes.byteLength; for (var i = 0; i < length; i++) { binary += String.fromCharCode(bytes[i]); }
/* read workbook */ var wb = XLSX.read(binary, {type: 'binary'});
/* grab first sheet */ var wsname = wb.SheetNames[0]; var ws = wb.Sheets[wsname];
/* generate HTML */ var HTML = XLSX.utils.sheet_to_html(ws);
/* update table */ document.getElementById('out-table').innerHTML = HTML; /* show export button */ document.getElementById('export-table').style.visibility = "visible"; };
reader.readAsArrayBuffer(file); }, onexport: function(evt) { /* generate workbook object from table */ var wb = XLSX.utils.table_to_book(document.getElementById('out-table')); /* generate file and force a download*/ XLSX.writeFile(wb, "sheetjs.xlsx"); } }};var app;if(Vue.component) { Vue.component('html-preview', component_struct);} else { app = Vue.createApp({}); app.component('html-preview', component_struct);}
sheetjs

Version Info

Tagged at
2 years ago