wasm-xlsx-parser
v0.2.0
Published
wasm xlsx file format parser
Maintainers
Readme
wasm-xlsx-parser
WebAssembly XLSX文件格式分析器
WebAssembly xlsx file format parser
Installation
yarn add wasm-xlsx-parserUsage
import * as wasm from "wasm-xlsx-parser";
// 需要使用try{}catch (e){} 捕获错误
const xlsxTrait = new wasm.XlsxTrait(uint8Array);
// 获取所有sheet名称
const sheets = xlsxTrait.get_sheet_names()
// 获取sheet1数据 需要使用try{}catch (e){} 捕获错误
const firstSheetData = xlsxTrait.get_first_sheet_data()
// 获取sheet1合并数据,// 需要使用try{}catch (e){} 捕获错误
const firstMergeCell = xlsxTrait.get_first_merge_cell()
// 所有方法如下
// 构造函数
// constructor(byte: Uint8Array);
// 获取所有获取所有sheet名称
// get_sheet_names(): (string)[];
// 获取指定sheet数据
// get_sheet_data(sheet_name: string): any;
// 获取第一个sheet名称
// get_first_sheet(): string;
// 获取第一个sheet数据
// get_first_sheet_data(): any;
// 获取指定sheet的合并单元格信息
// get_merge_cell(sheet_name: string): any;
// 获取第一个sheet的合并单元格信息
// get_first_merge_cell(): any;
Demo
const processFile = () => {
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
if (!file) {
alert('请先选择文件');
return;
}
// 创建FileReader对象
const reader = new FileReader();
// 当文件读取完成时触发
reader.onload = function (e) {
// 将文件内容转换为Uint8Array
const arrayBuffer = e.target.result;
const uint8Array = new Uint8Array(arrayBuffer);
// 显示文件信息
const outputDiv = document.getElementById('output');
outputDiv.innerHTML = `
文件名: ${file.name}<br>
文件大小: ${file.size} 字节<br>
Uint8Array长度: ${uint8Array.length} 字节
`;
console.time('start')
const xlsxTrait = new wasm.XlsxTrait(uint8Array);
const data = xlsxTrait.get_first_sheet_data()
console.timeEnd('start')
const aaa = { data,
merge_cell:[],
sheet_names: [],}
setData1(aaa)
};
// 以ArrayBuffer方式读取文件
reader.readAsArrayBuffer(file);
};
<input type="file" id="fileInput" />
<div id="output" style={{color:'#262626'}}></div>
<button onclick={processFile}>点击</button>