使用Javascript将AJAX数据转换为Excel

使用Javascript将AJAX数据转换为Excel,javascript,ajax,excel,Javascript,Ajax,Excel,后端正在以Excel ByteArray格式向我发送数据。我必须将其转换为Excel,并在本地计算机上下载该文件 我正在编写以下代码,它将数据转换为excel,但当我打开文件时,我只看到垃圾字符,没有可读的内容 $.ajax({ type : "GET", url: url }) .done((data)=> { window.location.href = url;

后端正在以Excel ByteArray格式向我发送数据。我必须将其转换为Excel,并在本地计算机上下载该文件

我正在编写以下代码,它将数据转换为excel,但当我打开文件时,我只看到垃圾字符,没有可读的内容

       $.ajax({
            type : "GET",
            url: url
        })
        .done((data)=> {
            window.location.href = url;
            let bytes = new Uint8Array(data.length);
            for (let i = 0; i < bytes.length; i++) {
               bytes[i] = data.charCodeAt(i);
            }
            let blob = new Blob([byteArray], { type: 'application/octet-stream' });

            let downloadUrl = URL.createObjectURL(blob);
            let a = document.createElement("a");
            a.href = downloadUrl;
            a.download = "compare.xls";
            document.body.appendChild(a);
            a.click();
        })
        .fail((err)=> {
        });
$.ajax({
键入:“获取”,
url:url
})
.完成((数据)=>{
window.location.href=url;
let bytes=新的Uint8Array(data.length);
for(设i=0;i{
});

请帮忙

什么是“byteArray”?您的意思是使用前面定义的数组“bytes”吗?我的意思是该文件是从后端以二进制形式提供的。为什么需要将该文件转换为Excel?您可以执行Ajax调用,并从服务器获取文件作为附件。它将具有包含mime类型的头文件。在服务器上生成一个字节数组并做出响应是非常好的。什么是“byteArray”?您的意思是使用前面定义的数组“bytes”吗?我的意思是该文件是从后端以二进制形式提供的。为什么需要将该文件转换为Excel?您可以执行Ajax调用,并从服务器获取文件作为附件。它将具有包含mime类型的头文件。在服务器上生成一个字节数组并做出响应是非常好的。