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

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

    処理の種類

    インポート

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

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

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

    エクスポート

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

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

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

    Excelファイルのパス

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

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

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

    Excelシート名

    Excelに複数のワークシートがある場合、インポート対象のワークシートを指定できます。本プロパティが設定されていない場合、最初のワークシートがインポート対象となります。

    [インデックスで指定]にチェックが入っていない場合、Excelのワークシート名を入力します。ワークシート名の大文字と小文字は区別されません。

    [インデックスで指定]にチェックが入っている場合、Excelのワークシートのインデックスを入力します。インデックスは1から始まります。

    注意:ワークシート名の大文字と小文字は区別されません。

    スキップする行数

    インポートするExcelの最初の数行が会社名などの無効なデータである場合、スキップする行数を設定できます。例えば、インポートするデータが5行目から始まっている場合、スキップする行数には4を指定します。

    対象テーブル

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

    インポートモード

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

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

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

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

    既定値は「追加」です。

    列の関連付け定義

    列の関連付け定義を追加

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

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

    列の関連付け定義を削除

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

    1つ上へ移動

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

    1つ下へ移動

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

    テーブルのフィールド

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

    Excelのヘッダー名

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

    一意となる列

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

    クエリー条件

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

    先頭レコード

    [取得する先頭レコードの数]を指定して、対象のレコードを絞ります。[スキップする先頭レコード数]に何も指定しなかった場合、1レコード目からを[取得する先頭レコードの数]に指定した数だけのレコードを取得します。たとえば、[スキップする先頭レコード数]に「2」を指定した場合、3レコード目からデータを取得します。数式が使用できるため、他の変数を参照してレコード数を指定することもできます。

    並べ替え

    並べ替え条件を指定し、複数レコードのレコード順序を変更します。

    詳細設定を表示

    クリックすると、以下の設定項目が展開されます。

    • Excel ファイルのパスワード

      [処理の種類]が「エクスポート」の場合、エクスポートするExcelファイルを設定したパスワードで保護できます。参照先の値が空白の場合、パスワードは設定されません。

      [処理の種類]が「インポート」の場合、パスワードで保護されたExcelファイルを設定したパスワードで開きます。

    使用例

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