Jsreport客户端可以异步收发xlsx文件吗?

Can Jsreport client asynchronous send and receive xlsx file?

我想使用 jsreport 浏览器将数据发送到服务器并下载回 xlsx 文件。

使用 jsreport.download(request) 会限制数据量,因为它是 GET。我可以使用 jsreport.renderAsync() 像下载 pdf 一样下载 xlsx 文件吗?

jsreport.renderAsync returns 承诺 ArrayBuffer。您可以将其转换为 blob,然后使用 saveAs 将其下载到用户计算机。

<script async="" src="https://cdn.rawgit.com/eligrey/FileSaver.js/e9d941381475b5df8b7d7691013401e171014e89/FileSaver.min.js"></script>

<script>
    jsreport.renderAsync({
        template: {
            content: '<table><tr><td>foo</td></tr></table>',
            engine: 'none',
            recipe: 'html-to-xlsx'
        }
    }).then(function (res) {
        var dataView = new DataView(res);
        var blob = new Blob([dataView], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
        saveAs(blob, 'a.xlsx')
    })
</script>

https://playground.jsreport.net/studio/workspace/HJ0z0yaY/8