UNPKG

wsemi

Version:

A support package for web developer.

141 lines (109 loc) 3.43 kB
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-tw"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>examples for xlsx by dynamic import</title> <!-- @babel/polyfill已廢棄 --> <script nomodule src="https://cdn.jsdelivr.net/npm/@babel/polyfill@7.12.1/dist/polyfill.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/wsemi@1.7.19/dist/wsemi.umd.js"></script> <script> let log = console.log console.log = function(){ log.apply(null, arguments) wsemi.bodyLog.apply(null, arguments) } </script> </head> <body> <div style="margin-bottom:20px;"> <div> <button onclick="downloadTable()">download file(*.xlsx) from table</button> </div> <table id="tab"> <tbody> <tr> <td>h1</td> <td>h2(中文)</td> <td>h3</td> </tr> <tr> <td>c11</td> <td>c12</td> <td>c13</td> </tr> <tr> <td>c21</td> <td>c22</td> <td>c23</td> </tr> </tbody> </table> </div> <button onclick="readAndDownloadFile()">read file(*.xlsx) and download from xlsx</button> <script> function downloadTable(){ let tab = document.querySelector("#tab") console.log('tab',tab) wsemi.downloadExcelFileFromDataDyn('table.xlsx', 'data', tab) console.log('download table') } function readAndDownloadFile() { //u8a let u8a let kind = 'xlsx' //kind = 'common' wsemi.domShowInputAndGetFilesU8Arrs(kind) .then(function (d) { //get first file let file = d[0] //save u8a u8a = file.u8a console.log('get u8a', Object.prototype.toString.call(u8a), u8a.length) //download u8a wsemi.downloadFileFromU8Arr('temp.xlsx', u8a) console.log('download u8a') return Promise.resolve() }) .then(function () { return wsemi.getDataFromExcelFileU8ArrDyn(u8a, { fmt: 'csv' }) }) .then(function (r) { //dcsv, get first sheet let dcsv = r[0] console.log('get csv', dcsv.sheetname, dcsv.data) //download csv wsemi.downloadFileFromText('temp.csv', dcsv.data) console.log('download csv') return Promise.resolve() }) .then(function () { return wsemi.getDataFromExcelFileU8ArrDyn(u8a, { fmt: 'ltdt' }) }) .then(function (r) { //dltdt, get first sheet let dltdt = r[0] console.log('get dltdt', dltdt.sheetname, dltdt.data) //download json wsemi.downloadFileFromText('temp.json', JSON.stringify(dltdt)) console.log('download json(from dltdt)') return Promise.resolve() }) .then(function () { return wsemi.getDataFromExcelFileU8ArrDyn(u8a, { fmt: 'array' }) }) .then(function (r) { //darray, get first sheet let darray = r[0] console.log('get array', darray.sheetname, darray.data) //download array wsemi.downloadExcelFileFromDataDyn('temp.array.xlsx', 'data', darray.data) console.log('download array') return Promise.resolve() }) .catch(function (msg) { console.log(msg) }) } </script> </body> </html>