アップロードしたCSVファイルのデータをフィールドに解析する方法
お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
要件
ユーザーが CSV ファイルをアップロードすると、そのデータが解析され、別のフォームの対応する必須項目に値が挿入されます。
利用例
ある受注管理アプリには 2 つのフォームがあり、1 つは購入した商品の詳細を保存し、もう 1 つは購入リストを CSV ファイルとして保存します。管理者が 「 購入リストをアップロード 」フォームで購入リストファイルをアップロードすると、そのデータが解析され、「 商品 」フォームの各項目に挿入されます。
手順
|
フォーム
|
フォームリンク名
|
項目タイプ
|
項目名
|
項目リンク名
|
|
購入リストをアップロード
|
Upload_purchase_list
|
ファイルアップロード
|
Purchase List
|
Purchase_List
|
|
商品
|
商品
|
単一行
|
商品名
|
Product_Name
|
|
単一行
|
単位
|
Unit_Of_Measure
|
|
数値
|
数量
|
数量
|
|
通貨
|
販売価格
|
Selling_Price
|
このワークフローは、「 購入リストをアップロード 」フォームが正常に送信されたときに実行される必要があるため、 フォームイベント として「フォームの送信に成功」を選択します。
3. 次の Deluge スクリプトを Deluge エディターに保存します。
- // アップロードされた入力ファイルの内容を抽出し、テキストとして変数 fileContent に保存します
- fileContent = input。Purchase_List。content;
-
- // ファイル内容を解析し、rowsList 変数の各要素が入力 CSV ファイルの 1 行分のテキストになるように構造化します
- rowsList = fileContent。tolist('\n');
-
- // ループ回数を管理するカウンターを定義します
- 件数 = 0;
-
- // rowsList をループし、各行の要素を解析します。
- for each rl in rowsList
- {
- if(件数 > 0)
- {
-
- // 行の要素を分割し、受注データを[パッケージ]データに変換してリストに格納します
- elementsList = rl。tolist(',');
-
- // 商品フォームに追加するデータを設定します
- response = insert into 商品
- [
- Added_User = Zoho。loginuser
- Product_Name = elementsList。取得する(2)
- Unit_Of_Measure = elementsList。取得する(3)
- 数量 = elementsList。取得する(4)
- Selling_Price = elementsList。取得する(3)
- ];
- }
-
- // 各ループの最後にカウンターをインクリメントします
- 件数 = 件数 + 1;
- }
動作を確認する
注意事項
-
このチュートリアルで提供している Deluge スクリプトは、 行が 改行 で区切られ、 1 行目に列ヘッダー があり、 その列が 商品名、 単位、 数量、 販売価格の順で並んでいる CSV ファイル専用です。異なる形式の CSV ファイルにこのスクリプトを使用すると、期待どおりに動作しない場合があります。
この Deluge スクリプトが動作するサンプルファイルについては、添付ファイルを確認してください。
-
このチュートリアルは、通常テキスト値のみを含むファイル( 例:.txt や .csv など)で最も効果的に動作します。