JavaScript导入excel并转换为json的方法有哪些
时间: 2024-02-17 13:01:27 浏览: 31
JavaScript导入excel并转换为json的方法有以下几种:
1. 使用第三方库js-xlsx,它可以将excel文件转换为json格式,可以使用以下代码进行导入:
```
<script src="xlsx.full.min.js"></script>
<script>
var workbook = XLSX.readFile('test.xlsx');
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
var data = XLSX.utils.sheet_to_json(worksheet);
console.log(data);
</script>
```
2. 使用FileReader API,可以将excel文件读取为二进制字符串,然后再使用第三方库SheetJS将二进制字符串转换为json格式,可以使用以下代码进行导入:
```
<input type="file" onchange="readExcelFile(this)">
<script src="xlsx.full.min.js"></script>
<script>
function readExcelFile(input) {
var file = input.files[0];
var reader = new FileReader();
reader.onload = function(e) {
var binaryString = e.target.result;
var workbook = XLSX.read(binaryString, { type: 'binary' });
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
var data = XLSX.utils.sheet_to_json(worksheet);
console.log(data);
};
reader.readAsBinaryString(file);
}
</script>
```
3. 使用WebAssembly,可以使用SheetJS的web worker版本将excel文件转换为json格式,可以使用以下代码进行导入:
```
<input type="file" onchange="readExcelFile(this)">
<script>
function readExcelFile(input) {
var file = input.files[0];
var worker = new Worker('worker.js');
worker.postMessage({ file: file });
worker.onmessage = function(e) {
var data = e.data;
console.log(data);
};
}
</script>
```
其中,worker.js代码如下:
```
importScripts('xlsx.full.min.js');
self.onmessage = function(e) {
var file = e.data.file;
var reader = new FileReaderSync();
var binaryString = reader.readAsBinaryString(file);
var workbook = XLSX.read(binaryString, { type: 'binary' });
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
var data = XLSX.utils.sheet_to_json(worksheet);
self.postMessage(data);
};
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)