FileMakerで「1行目にフィールド名を入れてCSVエクスポート」する方法

「CSVエクスポートすると1行目からいきなりデータレコードになる」のはFileMakerの仕様です。

しかしデータ受け手側プログラムの都合や可読性向上のため1行目にはフィールド名を入れたいというケースは多々あるもの。柔軟なFileMaker側でそのあたりの調整ができると便利です。

この記事ではmFileMakerでエクスポートするCSVデータの1行目にフィールド名を入れる方法を紹介します。

FileMakerでフィールド名含めてCSVエクスポートする方法

方法1. CSVではなくMarge形式で書き出す

Marge形式はフィールド名を1行名のデータとして書き出すエクスポート形式。

シンプルに「項目名付きのCSVデータを書き出したい」ならこの方法を取ることが多いです。

デメリットとしては、フィールド名がそのまま1行目の項目名になってしまう点。

なぜこれがデメリットかといえば、受け手側プログラムの都合で項目名が決められているならFileMakerのフィールド名を同じにしなければいけないからです。その名前にFileMakerで使えない文字があったり、すでに使用しているフィールド名だったりするとこのやり方は使えません。

方法2. 別テーブルにインポートしてからエクスポートする

ちょっと手間はかかりますが柔軟なやり方です。

FileMakerにエクスポート専用のテーブルを作り、毎回そのテーブルに対して「全レコード削除→エクスポートするデータ登録」をしてからCSVエクスポートする方法です。

1行目の作り方

1行目の項目名は

  1. スクリプトで入力する
  2. 削除せず使いまわす

と、手間が減らせます。

(1)のスクリプトで入力する場合は「フィールドAにXXとフィールド設定」をフィールド数分だけ繰り返すことになります。1行目のデータをスクリプトに直書きするのはあまり美しくないですし、メンテナンス性も落ちることになります。

(2)の削除せず使いまわすなら、項目名である1行目は対象外にしてから対象レコードの削除を行うようにします。スクリプトで行うなら特に難しくない操作ですし、メンテナンスも楽です。デメリットは間違ってそのレコードを消したときに再入力が面倒なことぐらいです。

メリット

「別テーブルにインポートしてからエクスポートする」方法には次のようなメリットがあります。

  • 項目名が2行以上になっても対応できる
  • データ形式が違っていても問題ない
  • 項目名を自由に決めることができる

項目名が2行以上必要なケースは多くはありませんが、以前経験しました。通販の後払いサービス「NP後払い」の注文情報CSVです。項目名は2行でその後に実データを入力します。それから銀行関係のシステムでも複数行の項目が必要だったものがありました。

データ形式とはテキストや数字といった形式のことです。エクスポート用のテーブルはすべてテキスト形式のフィールドにしておけばよいので数字フィールドにテキストの項目名が入らなくて困る、ということはありません。

それから項目名も自由です。フィールド名に縛られることは無くなんでも付けられます。すでにシステムで使っているフィールド名であってもFileMakerのフィールド名としては使えない文字であっても問題なし。

 

2つ目のこの方法は、手間はかかりますが汎用性が高い方法なのでおすすめです。

 

※他の方法が見つかれば追記します

最新情報をチェックしよう!