#はじめに
ODataのデータをCSVファイルでエクスポートできたので、手順を記載します。
今回はテンプレート選択からNew SAPUI5 Applicationを選択して、実施しました。
#1.ODataサービスを設定
プロジェクトを作成し、manifest.jsonの[Description Editor]-[Data Sources]を開き、追加ボタンをクリックします。
左ペインの[Service URL]を選択後、システムおよびURLを選択し、Nextボタンをクリックします。
どちらかのラジオボタンを選択し、Nextボタンをクリックします。
今回は、[Create new model]を選択し、exportTestと命名しています。
#2.コントローラーの実装
以下のコードを入力します。
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/core/util/Export",
"sap/ui/core/util/ExportTypeCSV"
], function (Controller, Export, ExportTypeCSV) {
"use strict";
return Controller.extend("test.test.controller.export", {
onInit: function () {
},
onExportCsv: function() {
var oView = this.getView();
var oExport = new Export({
exportType: new ExportTypeCSV({
separatorChar: ","
}),
models: oView.getModel("exportTest"),
rows: {
path: "/exportTestSet" // パスを指定します。今回はEntity Setを指定しました。
},
columns: [{
name: "名前",
template: {
content: "{Name}"
}
},{
name: "要素",
template: {
content: "{Element}"
}
}]
});
oExport.saveFile("exportTestCsv");
}
});
});
#3.ビューの実装
以下のコードを入力します。
<mvc:View
controllerName="test.test.controller.exportPage"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
displayBlock="true">
<Page title="エクスポート処理">
<Button type="Emphasized" press="onExportCsv" text="エクスポート(CSV)" />
</Page>
</mvc:View>
#4.エクスポートした結果
今回は以下のような形式のファイルがエクスポートされました。
#5.さいごに
今回はCSV形式でエクスポートしてみましたが、
スプレッドシート形式でのエクスポートも同じような方法でできたので、また記載しようと思います。
#6.参考サイト
下記のSAPリファレンスおよびサンプルを参考にしました。
https://sapui5.hana.ondemand.com/1.68.1/#/api/sap.ui.core.util.Export
https://sapui5.hana.ondemand.com/1.68.1/#/entity/sap.m.Table/sample/sap.m.sample.TableExport