ブラウザを使用jsreport
してデータをサーバーに送信し、それを xlsx ファイルとしてダウンロードしたいと考えています。
を使用jsreport.download(request)
すると、GET であるため、データの量が制限されます。jsreport.renderAsync()
pdf と同じように xlsx ファイルをダウンロードできますか?
ブラウザを使用jsreport
してデータをサーバーに送信し、それを xlsx ファイルとしてダウンロードしたいと考えています。
を使用jsreport.download(request)
すると、GET であるため、データの量が制限されます。jsreport.renderAsync()
pdf と同じように xlsx ファイルをダウンロードできますか?
jsreport.renderAsync
promise 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>