123456789101112131415161718192021222324252627282930 |
- exceltoxlxstream = async function (file) {
- return new Promise(resolve => {
- if (file) {
- const reader = new FileReader();
- reader.onload = async function (e) {
- const data = new Uint8Array(e.target.result);
- const workbook = XLSX.read(data, { type: 'array', codepage: 936 });
- const fileStream = XLSX.write(workbook, { type: 'array', bookType: 'xlsx', codepage: 936 });
- const blob = new Blob([fileStream], { type: 'application/vnd.ms-excel;charset=utf-8' });
- const url = URL.createObjectURL(blob);
- // 创建隐藏的下载链接并点击
- const downloadLink = document.createElement('a');
- downloadLink.href = url;
- downloadLink.download = file.name;
- downloadLink.style.display = 'none';
- document.body.appendChild(downloadLink);
- downloadLink.click();
- document.body.removeChild(downloadLink);
- // 释放资源
- URL.revokeObjectURL(url);
- resolve(fileStream);
- };
- reader.readAsArrayBuffer(file);
- }
- });
- }
|