ExcelやCSVから予実のデータをインポートする

オペレーション 基本編

業務データが蓄積されたExcelファイルやCSVファイルのデータを手作業で移行するのは大変な手間がかかります。
そこで活躍するのがForguncyのデータインポート機能です。
ForguncyではExcelファイルやCSVファイルを読み込んで、そのデータをもとにテーブルを生成することができます。
今回はExcelファイルとCSVファイルを使って予算テーブルと実績テーブルを作成し、それぞれの一覧表示を行う画面の作り方について解説します。

プロジェクトファイル import-data_before.fgcp
import-data_after.fgcp(実装済みプロジェクトファイル)
データ元ファイル予算管理データ.xlsx
実績管理データ.csv

1.プロジェクトを確認する

サンプルプロジェクトを開き、アプリケーションを確認します。

手順1-1.ページの確認

プロジェクトには以下の3つのページが用意されています。

予算管理メニューアプリ起動時、最初に開くスタートページ
予算表と実績表に遷移できる
予算表予算管理テーブルを一覧表示するリストビューを配置する
現段階ではページタイトルが書かれているだけの状態
実績表実績管理テーブルを一覧表示するリストビューを配置する
現段階ではページタイトルが書かれているだけの状態

手順1-2.テーブルの確認

プロジェクトにはあらかじめ組織マスタと科目マスタが作成されています。
今回はExcelファイルとCSVファイルを使って、追加で2つのテーブルを作成します。

手順1-3.ExcelファイルとCSVファイルの確認

データ元ファイルとして配布している「予算管理データ.xlsx」と「実績管理データ.csv」を開いて、データの確認を行います。
予算管理データ.xlsxにはA列の「組織コード」からO列の「科目」までデータが入っています。
実績管理データ.csvには「年度」から「科目」まで、8項目のデータが入っています。

2.Excelファイルからテーブルを作成

予算管理データ.xlsxを使用してForguncyの内部テーブルを作成します。

手順2-1.Excelファイルをインポート

[データ]タブの[インポート]にある[Excelからテーブル]をクリックします。
「外部データの取り込み – Excelファイル」ウィンドウが開くので、予算管理データ.xlsxを選択します。
その下の項目は現在のデータベースの新しいテーブルにソースデータをインポートするをチェックし、OKボタンを押下します。

外部データの取り込みウィンドウが閉じると「Excelファイル インポート ウィザード」ウィンドウが開きます。

Excelからデータをインポートする場合、どのシートのどの範囲を取り込むかを指定する必要があります。
今回使用するファイルではシートが1つだけで、シート内のデータ全てを取り込みます。
現在表示されているシートをインポートを選択し、「次へ」を押下します。

インポート時、Excelの先頭行の値をテーブルのフィールド名(列名)として使用することができます。今回はその設定を利用するため、先頭行をフィールド名として使うにチェックを入れ「次へ」を押下します。

インポートする項目のデータ型の指定を行います。
今回はすべてのフィールドに対して「整数」型を設定します。
データ型の変更は、変更したい列に属するセルを選択した状態で「データ型」コンボボックスから行います。
「組織コード」列から「科目」列まで、すべて整数型に設定し終えたら「次へ」を押下します。

テーブルの名前を設定します。
インポート先のテーブル欄に「予算管理」と入力し、完了ボタンを押下します。

ナビゲーションウィンドウのテーブル欄に「予算管理」テーブルが追加されました。
テーブルを開くと、データを確認できます。
この時、Excelの段階では存在していない「ID」フィールドが追加されています。
これはForguncyが自動で生成したもので、そのテーブルの主キーの役割を担うものです。

3.CSVからテーブルを作成

実績管理データ.csvファイルを使用して、Forguncyの内部テーブルを作成します。

手順3-1.CSVファイルをインポート

[データ]タブの[インポート]にある[テキストファイルからテーブル]をクリックします。
「外部データの取り込み – テキストファイル」ウィンドウが開くので、CSVファイル「実績管理データ.csv」を選択します。
その下の項目は現在のデータベースの新しいテーブルにソースデータをインポートするを選択し、OKボタンを押下します。

外部データの取り込みウィンドウが閉じると「テキストファイル インポート ウィザード」ウィンドウが開きます。
CSVファイル内のデータがExcel形式で表示されるので、取込範囲を選択します。
今回はシート内のデータ全てを取り込むため、現在表示されているシートをインポートを選択し、「次へ」を押下します。

Excelファイルの時と同様に、先頭行の値をテーブルのフィールド名(列名)として使用することができます。
今回もその設定を利用するため、先頭行をフィールド名として使うにチェックを入れ「次へ」を押下します。

インポートする項目のデータ型の指定を行います。
今回はそれぞれのフィールドに合った型を設定するため、以下のように設定を行います。 

フィールド名データ型
年度整数
組織コード整数
事業部テキスト
テキスト
テキスト
日付日付/時刻
金額整数
科目整数

すべてのフィールドの設定を終えたら「次へ」を押下します。

テーブルの名前を設定します。
インポート先のテーブル欄に「実績管理」と入力し、完了ボタンを押下します。

ナビゲーションウィンドウのテーブル欄に「実績管理」テーブルが追加されました。
テーブルを開くと、データを確認できます。

4.予算データの一覧表示画面を作る

予算表ページに一覧表を作成します。

手順4-1.リストビューを配置する

任意のセル範囲を選択した状態で、ナビゲーションウィンドウから「予算管理」テーブルを選択します。
そのセル範囲内に予算管理テーブルをドラッグ&ドロップすると、データ連結されたリストビューが生成されます。
このリストビュー内にナビゲーションウィンドウから予算管理テーブルの各フィールドをドラッグ&ドロップすることで、データを一覧表示することができます。

しかし、このままフィールド項目を配置しても組織や科目に関する情報は組織コード、科目コードといった形でしか表示することができず、不便な表となってしまいます。
そのため、次に解説する方法でテーブルの関連付けを行い、コードと一致する組織や科目の名称を表示できるよう設定します。

手順4-2.テーブルの関連付けを設定

ナビゲーションウィンドウの予算管理テーブルを展開します。
フィールド「組織コード」を右クリックし、「テーブルの関連付けを設定」をクリックします。
参照するフィールドの設定ウィンドウが開くので、組織マスタを選択します。
対象フィールド欄に組織マスタが持つフィールドが表示されるので、「組織コード」を指定します。
これで、予算管理テーブルは組織マスタと結合されました。
予算管理テーブルのみとデータ連携されたリストビューでも、組織マスタ側で持っている事業部や部、課といったフィールドのデータを参照することができます。

同様に、予算管理テーブルの「科目」フィールドにもテーブルの関連付けを行います。
この時は対象テーブルを科目マスタ、対象フィールドは「科目コード」を設定します。

手順4-3.リストビューに項目を配置

予算管理テーブルの各項目をリストビュー内に配置していきます。
配置するフィールドの種類や列の位置などは自由に設定して構いません。
例として以下にサンプルプロジェクトでの設定を示します(~で繋いだセル範囲は結合しています)。

セル
B6~H6組織コード->事業部
I6~M6組織コード->部
N6~Q6組織コード->課
R6~V6科目->大科目
W6~AA6科目->中科目
AB6~AF6_4月
AG6~AK6_5月
AL6~AP6_6月
AQ6~AU6_7月
AV6~AZ6_8月
BA6~BE6_9月
BF6~BJ6_10月
BK6~BO6_11月
BP6~BT6_12月
BU6~BY6_1月
BZ6~CD6_2月
CE6~CI6_3月

また、「_4月」~「_3月」までの項目を配置したセルは、書式を変更して金額を見やすく設定します。セルの書式設定を行うには、セルを選択した状態で右クリックし「セルの書式設定」をクリックします。
今回は「通貨」の分類に設定をしています。
リストビューに項目を配置すると、下図のようにデータがプレビュー表示されます。

手順4-4.セルの自動結合設定

リストビューに配置した項目のうち、事業部や部、課、大科目などは数行に渡り同じ値がプレビュー表示されています。
このままだと見づらいため、「セルの自動結合」を行います。

リストビュー内の事業部列を選択した状態で、リボンの [デザイン]>[列設定]の中の「セルの自動結合」にチェックを入れます。
すると、同じ値が続く行を自動で結合して表示するようになります。

同様に「部」「課」「大科目」の列でもセルの自動結合の設定を行います。
これで予算表ページの作成は完了です。

5.実績データの一覧表示画面を作る

「実績表」ページを開きます。

手順5-1.リストビューを配置する

任意のセル範囲を選択した状態で、ナビゲーションウィンドウから「実績管理」テーブルを選択します。
そのセル範囲内に実績管理テーブルをドラッグ&ドロップし、データ連結されたリストビューが生成します。

手順5-2.テーブルの関連付けを設定

予算表の時と同様、実績管理テーブルと科目マスタの関連付け設定を行います。

実績管理テーブルのフィールド「科目」を右クリックし、「テーブルの関連付けを設定」をクリックします。
参照するフィールドの設定ウィンドウが開くので、「科目マスタ」を選択します。
対象フィールド欄には科目コードを指定し、関連付けを設定します。

手順5-3.リストビューに項目を配置

実績管理テーブルの各項目をリストビュー内に配置していきます。
配置するフィールドの種類や列の位置などは自由に設定して構いません。例として以下にサンプルプロジェクトでの設定を示します(~で繋いだセル範囲は結合しています)。

セル
B6~I6事業部
J6~O6
P6~T6
U6~Y6科目->大科目
Z6~AD6科目->中科目
AE6~AJ6金額
AK6~AP6日付

配置後、見栄えを良くするための設定を行います。
金額の項目は「分類:通貨」、日付の項目は「分類:日付」に変更します。

手順5-4.セルの自動結合設定

予算表画面と同様に、セルの自動結合設定を行います。
今回の対象は「事業部」「部」「課」「大科目」の列です。

6.デバッグを実行

これでページが完成したので、プロジェクトをデバッグ実行します。

手順6-1.デバッグを実行する

リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。

作成したページがブラウザで表示されます。

デバッグ実行すると「予実管理メニュー」ページが表示されます。
ハイパーリンクの「予算表」「実績表」をクリックすると、それぞれの一覧表が表示されるページが別タブで開きます。

7.Forguncyのテーブルについてもっと知る

Forguncyの開発スタートガイドやオンラインヘルプでは、今回使用したテーブルについてより詳しくご紹介しています。
こちらもぜひご活用ください。

>ノーコードWebアプリ開発ツール「Forguncy」

ノーコードWebアプリ開発ツール「Forguncy」

Forguncy(フォーガンシー)は複数のシステムと直接接続して参照・更新が行えるデータ管理機能と、Excel感覚でレイアウトができる画面デザイン機能を備えたノーコードWeb開発&運用プラットフォームです。基幹システムでは対応できず、仕方なくExcelやAccessで管理していた業務のサブシステム化を強力に支援します。

CTR IMG