Forguncy 10 オンラインヘルプ
アプリの開発 / ロジックの実装 / サーバーサイド処理 / コマンド(サーバーサイド) / CSVインポート/エクスポート
このトピックで
    CSVインポート/エクスポート
    このトピックで

    「CSVインポート/エクスポート」コマンド(サーバーサイド)を使用することで、サーバー上に存在する指定したCSVファイルをインポートしたり、サーバー上の指定したフォルダーにCSVファイルをエクスポートしたりできます。基本的なプロパティは通常コマンド(プリインストールプラグイン)のCSVインポート/エクスポートと同様ですが、サーバーサイドコマンドと通常コマンドそれぞれ固有の設定項目があり、一部異なる部分があります。また、インポートする対象、およびエクスポートする対象はデータベースのテーブルとなっています。

    処理の種類

    インポート

    インポートを選択すると、次の図のように[ヘッダー名で列の関連付けを定義する]チェックボックスが表示されます。

    チェックした場合、CSVファイルの先頭行をヘッダーとみなして、テーブルの該当フィールドにインポートできます。

    チェックしない場合、CSVファイルのカンマ区切りごとに1から始まる連番をインデックスとして指定して、テーブルの該当フィールドにインポートできます。

    エクスポート

    エクスポートを選択すると、以下の図のように「フィールド名もエクスポートする」チェックボックスが表示されます。

    チェックした場合、テーブルのフィールド名がCSVの先頭行のデータとしてエクスポートされます。

    チェックしない場合、データのみがエクスポートされます。

    対象テーブル

    インポートやエクスポートの対象となるテーブル、もしくはビューを選択します。

    インポートモード

    インポートの方式を次の3種類から指定します。

    • 追加:インポート先のテーブルに対して、単純にCSVファイルのデータを追加するかたちでインポートします。

    • マージ:[一意となる列]の設定に従い、すでにテーブル上に存在しているレコードについては、CSVファイルからインポートするデータで更新を行います。インポート元のCSVファイルには存在しないが、インポート先のテーブルには存在するレコードを削除することはありません。インポート元のCSVファイルにのみ存在するデータについては、新しいレコードとしてテーブルに追加されます。

    • 置き換え:[一意となる列]の設定に従い、すでにテーブル上に存在している行については、CSVファイルからインポートするデータで更新を行います。インポート元のCSVファイルには存在しないが、インポート先のテーブルには存在するレコードは削除されます。インポート元のCSVファイルにのみ存在するデータについては、新しいレコードとしてテーブルに追加されます。

    既定値は「追加」です。

    その他の設定

    文字コード

    インポート、またはエクスポートするファイルの文字コードを設定します。

    サポートされている文字コードは、選択肢としてドロップダウンリストに表示されているもののみです。

    フィールド区切り記号

    選択肢として、「,」、「¥t」、「|」、「;」の4つが用意されています。「¥t」はタブ文字を表します。選択肢以外の任意の文字を設定することも可能です。フィールド区切り記号として不正な文字が設定された場合、Forguncyは自動的に「,」を区切り記号として使用します。既定値は「,」です。

    行の区切り記号

    選択肢として、「¥r¥n」、「¥r」、「¥n」の3つが用意されています。「¥r¥n」はWindowsの改行文字として使用されるCR+LF、「¥r」はCR、「¥n」はUnix系OS全般やmacOSの改行文字として使用されるLFを表します。選択肢以外の任意の文字を設定することも可能です。

    行の区切り記号が設定されていない(空文字)場合、インポート処理では自動的に行の区切り文字を判別する動作となり、エクスポート処理では「¥r¥n」が出力されます。

    行の区切り記号として不正な文字が設定された場合、インポート処理では「¥n」が使用され、エクスポート処理では「¥r¥n」が使用されます。

    既定値は空文字です。

    文字列の引用符

    文字列の引用符を変更することで、任意の文字列を値の開始と終了として識別できます。 既定値は「"」(ダブルクォーテーション)です。「$ ( ) * + . [ ? \ ^ { | . 」は指定できません。

    • [引用符で囲むフィールドを個別に指定する]チェックオプションは[処理の種類]が「エクスポート」の場合にのみ設定可能です。既定値は無効です。
      • 有効に設定した場合:コマンド設定ダイアログボックスに戻ると、列の関連付け定義に[引用符で囲む]チェック列が追加されます。チェックしたフィールドを引用符で囲みます。
      • 無効に設定した場合:すべてのフィールドを引用符で囲みません。

      引用符で囲まない設定にしても、フィールドに特殊文字(「"」や「'」など)が含まれていた場合、そのデータのみが引用符で囲まれます。

    ヒント:

    • [文字列の引用符]に設定した値をCSVデータの値に含める場合、2回連続で[文字列の引用符]を記入することで含めることができます。(例:文字列の引用符が「"」の場合、「""」と記入すると「"」と出力されます。

    フイルの拡張子

    インポートするファイル、またはエクスポートされるファイルの拡張子を指定します。既定値は「csv」です。

    自動的に日付型データに変換する

    インポートする時に日付型と判断される値を日付値へ変換します。
    ※インポート先のフィールドが日付型ではない場合も自動的に変換します。

    規定値はオフです。

    列の関連付け定義

    列の関連付け定義を追加

    クリックすると、インポート/エクスポートの列の定義を、リストの末尾に1行追加します。

    インポート先のテーブルのフィールドがほかのテーブルのIDを持ち、そのテーブルと関連付けが行われている場合、次の図のように設定することでインポート元のCSVファイルのデータがIDではない名称のデータを持っていた場合でも、Forguncyは関連付け先のテーブルからIDを特定してテーブルへとインポートを行います。しかし、IDが見つからなかった場合には処理は失敗します。

    列の関連付け定義を削除

    クリックすると、フォーカスのある列の定義を削除します。

    1つ上へ移動

    定義した列の順番を上へ移動します。

    1つ下へ移動

    定義した列の順番を下へ移動します。

    テーブルのフィールド

    インポート先/エクスポート元のテーブルのフィールドを指定します。

    CSVのヘッダー名

    インポート元/エクスポート先のCSVファイルのヘッダー名を指定します。
    [処理の種類]が「インポート」の場合、本設定のヘッダー名は、インポート元のCSVファイルの1行目と一致している必要があります。

    一意となる列

    インポートモードが「マージ」、または「置き換え」の場合にのみ表示される設定です。チェックした列が一致しているデータ(行)をCSVインポート時に同一のデータと判断して、マージや置き換え処理を行います。日付/時刻型フィールド、および時刻型フィールドは[一意となる列]をサポートしていません。

    クエリー条件

    [処理の種類]が「エクスポート」の場合にのみ、クエリー条件を設定してエクスポートするテーブルのレコードを絞り込むことができます。設定方法は通常のクエリー条件と同様です。

    CSVファイルのパス

    インポート、もしくはエクスポートするCSVファイルのパスを設定します。拡張子は省略可能です。なお、存在しないフォルダーを指定しても自動的にそのフォルダーが作成されることはありません。

    たとえば、「C:¥users¥public¥documents¥test」と指定した場合には「C:¥users¥public¥documents」フォルダーの「test.csv」ファイルが対象となります。

    指定したフォルダーに対してForguncy Severの実行ユーザーが必要なアクセス権を持っている必要があることに注意してください。

    使用例

    本コマンドの使用例については、サーバーサイドコマンドの呼び出しを参照してください。