使用js-xlsx-master导出excel文件时,chrome浏览器等部分浏览器提示“网络异常
时间: 2024-01-08 07:04:48 浏览: 143
js 导出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")
```
希望以上方法能够帮助你解决问题!
阅读全文