はじめに
Stimulsoft report.jsを使い、帳票をプレビューなしでPDF、Excel、Wordなどのファイルで保存する方法について整理します。
特に拡張モジュールは不要で、JavaScriptのコードを記述するだけで、実現できます。
前提
stimulsoft report.js
PDFで保存する場合
最初に結論を書きます。PDF形式で保存するケースになります。
必要な処理は、
①レポート(帳票)を指定したファイル形式でエキスポート
②エキスポートしたデータをダウンロード保存
となります。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>レポートをPDFにエクスポート</title>
<script src="../scripts/stimulsoft.reports.js" type="text/javascript"></script>
</head>
<body>
レポートをPDFにエクスポート<br><br>
<script type="text/javascript">
// 新しいレポートインスタンスを作成
var report = new Stimulsoft.Report.StiReport();
// URLからレポートを読み込む
report.loadFile("../reports/SimpleList.mrt");
// レポートレンダリング後にボタンを活性化
report.renderAsync(function () {
document.getElementById("savePdf").disabled = false;
});
// レポートをPDF形式にエクスポートし、ファイルに保存
function saveReportPdf() {
// PDFにエクスポート
report.exportDocumentAsync(function (pdfData) {
// レポートファイル名を取得する
var fileName = report.reportAlias;
// データをファイルに保存
Stimulsoft.System.StiObject.saveAs(pdfData, fileName + ".pdf", "application/pdf");
}, Stimulsoft.Report.StiExportFormat.Pdf);
}
</script>
<button id="savePdf" onclick="saveReportPdf()" disabled>PDFファイル保存</button><br>
<br><br>
<div id="htmlContainer"></div>
</body>
</html>
その他のファイル出力
ファイルデータのエキスポート
以下のコードで、StiExportFormatで指定したファイル形式(PDF/Word/Excel/PowerPoint/Html/PNG/GIF/CSVなど多数)のデータをコールバック関数に渡すことができます。
report.exportDocumentAsync(callback(data), Stimulsoft.Report.StiExportFormat.Excel2007)
| 定数 | 列挙名 |
|---|---|
| 0 | None |
| 1 | |
| 2 | Xps |
| 3 | HtmlTable |
| 4 | HtmlSpan |
| 5 | HtmlDiv |
| 6 | Rtf |
| 7 | RtfTable |
| 8 | RtfFrame |
| 9 | RtfWinWord |
| 10 | RtfTabbedText |
| 11 | Text |
| 12 | Excel |
| 13 | ExcelXml |
| 14 | Excel2007 |
| 15 | Word2007 |
| 16 | Xml |
| 17 | Csv |
| 18 | Dif |
| 19 | Sylk |
| 20 | Image |
| 21 | ImageGif |
| 22 | ImageBmp |
| 23 | ImagePng |
| 24 | ImageTiff |
| 25 | ImageJpeg |
| 26 | ImagePcx |
| 27 | ImageEmf |
| 28 | ImageSvg |
| 29 | ImageSvgz |
| 30 | Mht |
| 31 | Dbf |
| 32 | Html |
| 33 | Ods |
| 34 | Odt |
| 35 | Ppt2007 |
| 36 | Html5 |
| 37 | Data |
| 38 | Json |
| 1000 | Document |
ファイルデータの保存
Stimulsoft.System.StiObject.saveAs({ファイルデータ}, "ファイル名", "MIMEタイプ");
まとめ
いかがだったでしょうか。Stimulsoft製品は、ファイルに出力に関して多くのファイルタイプをサポートしています。これにより様々な要件に対応することが可能です。