Skip to main content

 

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

Excelへのエンティティデータのエクスポート

この記事は作成中です。この新しいバージョンはどの程度参考になりましたか。投票でお聞かせください。

データをエクスポートするには、Record List To Excelアクションを使用する必要があります。このアクションによって、選択されたエンティティに存在するデータを含むExcelワークシートが生成されます。そして、生成されたExcelファイルをユーザーがダウンロードできるようにする必要があります。

この記事では、リアクティブWeb従来のWebの両方での手順について説明します。

リアクティブWebの場合、Record List To Excelアクションはサーバーアクションでのみ使用できます。 従来のWebの場合、画面アクションでも使用できますがサーバーアクションでのみ使用することを強く推奨します。

リアクティブWebの場合のExcelへのデータのエクスポート

この例では、最初にUsersエンティティをメインフローにドラッグして、ユーザーのリスト画面を作成します。これを行うには、Service Studioでアプリを開き、以下の手順を実行します。

  1. [Interface]タブで、メインフローをダブルクリックします。

  2. [Data]タブをクリックしてDatabaseの(System)エントリを展開し、Userエンティティを開発メインエディタにドラッグします。

  3. Users画面をダブルクリックして開きます。

  4. データがリストで表示される画面にリンクまたはボタンを追加します。

  5. リンクまたはボタンのOn Clickイベントで、[New Client Action]を選択します。

    新しいクライアントアクションの作成

ダウンロードロジックの作成

画面で必要なアクションがすべて完了したら、ロジックを作成します。

クライアントアクションで以下の手順を実行します。

  1. フローにサーバーアクションを追加します。

    新しいクライアントアクションの作成

  2. ポップアップが表示されたら、[New Server Action]を選択します。

  3. サーバーアクションをダブルクリックして、フローを入力します。

    サーバーアクションで以下の手順を実行します。

    1. [Data]タブに移動し、Userエンティティをフローにドラッグして、GetUSers Aggregateを作成します。
    2. フローのAggregateの後ろにRecord List to Excelを追加します。
    3. Record List to Excelのプロパティで、[GetUsers.List]を選択します。

      Excelへのエンティティのエクスポート

    4. Excelにエクスポートするアトリビュートにチェックを付けて選択します。これらがExcelの列になります。

    5. サーバーアクションに出力パラメータを追加し、型をバイナリデータ型に変更します。

      この出力パラメータによって、サーバーアクションでエクスポートしたExcelデータを画面アクションで利用することができます。

      Excelへのエンティティのエクスポート

    6. 最後に、フローにAssignを追加し、出力パラメータにRecordsListToExcel値を割り当てます。

      Excelへのエンティティのエクスポート

    7. これが完了したら、クライアントアクションに戻ります。

  4. クライアントアクションに戻り、フローのエンドポイントを削除します。

  5. フローのエンドポイントとしてDownloadを追加します。

    Excelへのエンティティのエクスポート

  6. 最後に、Downloadの詳細のFile Contentで、サーバーアクションの出力パラメータを選択します。

    File Nameには、任意のファイル名を引用で囲んで入力します。

    たとえば、「"Users.xlsx"」と入力します。

ユーザーがファイルを複数回ダウンロードすることが想定される場合、名前にCurrDateTime()を連結する必要がある可能性があります。

従来のWebの場合のExcelへのデータのエクスポート

  1. この例では、最初にUsersエンティティをメインフローにドラッグして、ユーザーのリスト画面を作成します。これを行うには、Service Studioでアプリを開き、以下の手順を実行します。
  2. [Interface]タブで、メインフローをダブルクリックします。
  3. [Data]タブをクリックしてDatabaseの(System)エントリを展開し、Userエンティティを開発メインエディタにドラッグします。

  4. Users画面をダブルクリックして開きます。

  5. データがリストで表示される画面にリンクまたはボタンを追加します。リンクまたはボタンの詳細で以下の手順を実行します。

    • Methodを「Submit」に設定します。
    • Destinationに新しい画面アクションを作成します。

    Excelへのエンティティのエクスポート

これで画面上のすべてのものが作成されました。後はリアクティブWebと同じ手順で必要なロジックを追加できます。