私はexceljs
、Excel ファイルを生成するために使用している帆アプリケーションを持っています。彼らのドキュメントを見る:
https://www.npmjs.com/package/exceljs#writing-xlsx
ストリームへの書き込みを許可しているようです。
// write to a stream
workbook.xlsx.write(stream)
.then(function() {
// done
});
ユーザーが応答を期待しているときにこれを行うにはどうすればよいですか?
私は以下を読みました:
http://sailsjs.org/documentation/concepts/custom-responses/adding-a-custom-response
http://sailsjs.org/documentation/concepts/custom-responses/default-responses
res.attachment()
ファイルを保存した後にも試しましたが、成功しませんでした。足りないものはありますか?
編集
以下の答えはほぼ正しいです。私は次のことを行いましたが、うまくいきました。以前のソリューションでは、ファイルが破損することがありました。
res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
return workbook.xlsx.write(res)
.then(function() {
res.end();
});
これは、EC2 インスタンスとローカルで機能しました。