3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【SAPUI5】OData経由でCSVエクスポート実装

Posted at

#はじめに
ODataのデータをCSVファイルでエクスポートできたので、手順を記載します。

今回はテンプレート選択からNew SAPUI5 Applicationを選択して、実施しました。

#1.ODataサービスを設定
プロジェクトを作成し、manifest.jsonの[Description Editor]-[Data Sources]を開き、追加ボタンをクリックします。
image.png

左ペインの[Service URL]を選択後、システムおよびURLを選択し、Nextボタンをクリックします。
image.png

どちらかのラジオボタンを選択し、Nextボタンをクリックします。
今回は、[Create new model]を選択し、exportTestと命名しています。
image.png

#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.エクスポートした結果
今回は以下のような形式のファイルがエクスポートされました。
image.png

#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

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?