如何在 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;
我找到了这个视频,它展示了如何在我的应用程序中下载 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;