我有一个servicestack正在下载excel,如下所示
$.ajax({
url: url,
type: 'Get',
async: true,
data: data,
success: function (data) {
var blob = new Blob([dataTest], { type: 'application/vnd.ms-excel' });
var downloadLink = document.createElement('a');
downloadLink.href = window.URL.createObjectURL(blob);
downloadLink.download = fileName;
downloadLink.style.display = 'none';
document.body.appendChild(downloadLink);
downloadLink.click();
},
});
excel的数据在第一列中以逗号分隔的字符串下载。
我进行了调试,观察到代码本身的[data]以逗号分隔的List的形式传递,这就是它在excel中下载的原因。 类似的东西:
[data] =
Header1,Header2,Header3
Data1,Data2,Data3
Data4,Data5,Data6
如果我以表格格式替换数据,则可以正确进行Excel下载。 类似的东西:
[data]=
<table>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
我现在正在考虑两种解决方案。
将此数据转换为表格,然后将其用于下载。
下载以擅长C#(服务代码)
在这种情况下使用哪种解决方案(可能是我想的除外)。