如何在 C# Blazor 中下载 xls 文件

How to Download xls file in c# blazor

我找到了这个视频,它展示了如何在我的应用程序中下载 xlsx 文件Download XLSX file Blazor

简而言之,我们使用 JS 助手来完成这项工作。

//cs file
            iJSRuntime.InvokeAsync<ToSheetConvert>(
                    "saveAsFile",
                    "myfile.xlsx",
                    Convert.ToBase64String(fileContents)
                );


//saveAsFile.js file   
    function saveAsFile(fileName, byteBase64) {
    var link = document.createElement('a');
    link.download = fileName;
    link.href = 'data:application/vnd.openxmlformats-pfficedocument.spreadsheetml.sheet;base64,' + byteBase64;
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);

我的问题是,这不适用于旧版本的 excel 文件,如 .xls、.cvs 我认为问题出在 link.href 这对那些扩展文件不正确......也不知道该放哪个...... 需要在 blazor 中下载 xls 和 csv 文件

这是我尝试打开下载的文件时出现的 office 错误消息 Screen KO xls 在这里,当我强制更改 cs 文件中的扩展名时 Screen KO xls csfileChange

您可以将 href link 替换为适用于所有文件类型的以下内容:

link.href = "data:application/octet-stream;base64," + bytesBase64;