アップロードしたCSVファイルのデータをフィールドに解析する方法

アップロードしたCSVファイルのデータをフィールドに解析する方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

要件  

ユーザーが CSV ファイルをアップロードすると、そのデータが解析され、別のフォームの対応する必須項目に値が挿入されます。

利用例  

ある受注管理アプリには 2 つのフォームがあり、1 つは購入した商品の詳細を保存し、もう 1 つは購入リストを CSV ファイルとして保存します。管理者が 購入リストをアップロード 」フォームで購入リストファイルをアップロードすると、そのデータが解析され、「 商品 」フォームの各項目に挿入されます。
 
動作を確認

手順    

1. 次の内容で 2 つのフォームを作成します
フォーム
フォームリンク名
項目タイプ
項目名
項目リンク名
購入リストをアップロード
Upload_purchase_list
ファイルアップロード
Purchase List
Purchase_List
商品
商品
単一行
商品名
Product_Name
単一行
単位
Unit_Of_Measure
数値
数量
数量
通貨
販売価格
Selling_Price
 
2. 次の内容でフォームワークフローを作成します
 
このワークフローは、「 購入リストをアップロード 」フォームが正常に送信されたときに実行される必要があるため、 フォームイベント として「フォームの送信に成功」を選択します。
 
3. 次の Deluge スクリプトを Deluge エディターに保存します。
  1. // アップロードされた入力ファイルの内容を抽出し、テキストとして変数 fileContent に保存します
  2. fileContent = input。Purchase_List。content;
  3.  
  4. // ファイル内容を解析し、rowsList 変数の各要素が入力 CSV ファイルの 1 行分のテキストになるように構造化します
  5. rowsList = fileContent。tolist('\n');
  6.  
  7. // ループ回数を管理するカウンターを定義します
  8. 件数 = 0;
  9.  
  10. // rowsList をループし、各行の要素を解析します。
  11. for each rl in rowsList
  12. {
  13. if(件数 > 0)
  14. {
  15.  
  16. // 行の要素を分割し、受注データを[パッケージ]データに変換してリストに格納します
  17. elementsList = rl。tolist(',');
  18.  
  19. // 商品フォームに追加するデータを設定します
  20. response = insert into 商品
  21. [
  22. Added_User = Zoho。loginuser
  23. Product_Name = elementsList。取得する(2)
  24. Unit_Of_Measure = elementsList。取得する(3)
  25. 数量 = elementsList。取得する(4)
  26. Selling_Price = elementsList。取得する(3)
  27. ];
  28. }
  29.  
  30. // 各ループの最後にカウンターをインクリメントします
  31. 件数 = 件数 + 1;
  32. }

動作を確認する  

 

注意事項  

  • このチュートリアルで提供している Deluge スクリプトは、 行が 改行 で区切られ、 1 行目に列ヘッダー があり、 その列が 商品名 単位 数量 販売価格の順で並んでいる CSV ファイル専用です。異なる形式の CSV ファイルにこのスクリプトを使用すると、期待どおりに動作しない場合があります。

    この Deluge スクリプトが動作するサンプルファイルについては、添付ファイルを確認してください。

  • このチュートリアルは、通常テキスト値のみを含むファイル( 例:.txt .csv など)で最も効果的に動作します。