wsemi
Version:
A support package for web developer.
141 lines (109 loc) • 3.43 kB
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>