js-xlsx 导出
时间: 2024-01-19 07:04:44 浏览: 156
以下是使用js-xlsx导出Excel的示例代码:
```javascript
import XLSX from 'xlsx';
// 定义数据
var _data = [
["id", "name", "value"],
[1, "sheetjs", 7262],
[2, "js-xlsx", 6969]
];
// 将数据转换为工作表
const ws = XLSX.utils.aoa_to_sheet(_data);
// 创建工作簿并添加工作表
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
// 将工作簿保存为文件
XLSX.writeFile(wb, 'SheetJS.xlsx');
```
这段代码首先导入了js-xlsx库,然后定义了一个包含数据的二维数组`_data`。接下来,使用`XLSX.utils.aoa_to_sheet`方法将数据转换为工作表对象`ws`。然后,创建一个新的工作簿对象`wb`,并使用`XLSX.utils.book_append_sheet`方法将工作表添加到工作簿中。最后,使用`XLSX.writeFile`方法将工作簿保存为名为`SheetJS.xlsx`的文件。
相关问题
使用js-xlsx-master导出excel文件时,chrome浏览器等部分浏览器提示“网络异常
这个问题可能是因为浏览器的安全机制限制了网页导出文件的操作。为了解决这个问题,你可以尝试以下几个方法:
1. 确认你的代码是否有跨域问题,如果有跨域问题,可以在服务器端进行设置。
2. 尝试使用Blob对象来创建文件并下载,具体实现可以参考以下代码:
```javascript
var wb = XLSX.utils.book_new();
var ws = XLSX.utils.json_to_sheet(jsonData);
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
var wbout = XLSX.write(wb, {bookType:'xlsx', type:'binary'});
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "test.xlsx")
```
3. 尝试使用FileSaver.js库来实现文件下载,具体实现可以参考以下代码:
```javascript
var wb = XLSX.utils.book_new();
var ws = XLSX.utils.json_to_sheet(jsonData);
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
var wbout = XLSX.write(wb, {bookType:'xlsx', type:'binary'});
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "test.xlsx")
```
希望以上方法能够帮助你解决问题!
使用js-xlsx-master导出excel文件时,chrome浏览器等部分浏览器提示“网络异常
这个问题可能是因为浏览器对跨域访问的限制导致的。你可以尝试以下两种方法解决:
1. 在服务器端设置响应头部,允许跨域访问。例如,对于Node.js服务器,可以在响应头部添加以下代码:
```
res.setHeader('Access-Control-Allow-Origin', '*');
```
2. 将文件导出到本地,而不是通过网络下载。你可以使用FileSaver.js库将文件保存到本地。例如,可以像这样将文件保存到本地:
```
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
var filename = "example.xlsx";
XLSX.writeFile(wb, filename);
```
阅读全文
相关推荐















