サポート > Wagby定義ファイル > 17 CSV入出力 > CSVアップロード更新
ダウンロード機能で出力されたファイルを編集し、これをアップロードすることで一括更新処理を行うことができます。R6.1.0よりTSV(タブ区切り)形式のファイルにも対応しています。 R6.1.0
実行例
モデルに定義された任意の項目のデータをCSV または TSV 形式でアップロードすることにより、 データの新規作成、更新を一括で行うことができます。
- 「顧客」モデルを CSV でアップロード更新する機能の例を示します。設定を行うと、画面にメニューが用意されます(図1)。
- クリックすると、アップロード更新画面に遷移します(図2)。
- 入力「CSVファイル」にて、アップロードする CSV ファイルを指定し、「更新用CSVファイルを送信」ボタンをクリックすると、処理が開始されます。処理を実行している間は次の画面が表示されます(図3)。
- 「更新処理の停止」ボタンをクリックすると、現在実行している処理を停止します。処理を途中で停止した場合、処理した行数で示される行までの新規作成、更新は反映されます。
「この画面を再表示」ボタンをクリックすると、現在の処理状況を更新します。 アップロードが無事終了した場合は次のような画面が表示されます(図4)。
ここでは、CSV ファイルを例にしましたが、TSV ファイルの場合も同じ手順でアップロード更新を行えます。
設定方法
- アップロード更新機能を利用したいモデルについて、モデル定義シートの「画面動作定義」ボタンをクリックして画面動作定義シートを開きます(図5)。
- 画面動作定義シートの「アップロード更新画面」-「画面を作成する」項目で「○」を設定します(図6)。
続いて、「アップロードファイルのタイプ」を選択します。
「CSV(カンマ区切り)」、「TSV(タブ区切り)」が選択できます。
標準では、「CSV」となっています。
またこの欄の設定では、画面名や画面に表示させる説明文を記述することもできます。 - 次に、アップロード更新の対象となる項目を指定します。
一度モデル定義シートに戻り、「詳細表示」ボタンをクリックしてモデル項目定義シートを開きます。
モデル項目の定義シート「出力制御」-「CSV形式出力時にこの項目を加える」に「○」を設定することで、 更新される項目となります。 この項目に○がついていない項目については、更新されません。 標準では、「○」が設定されています(図7)。
新規作成するデータに主キーの自動採番を行う
新規に作成するデータの主キーに自動で連番を振るように設定することが出来ます。
データの主キー項目を「-1」にすることで、アップロード更新時にキーが自動採番され、データが新規登録されます(図8)。
処理後、データを確認すると、主キーが自動採番されたデータが新規に登録されていることが分かります(図9)。
アップロード更新における入力チェックの扱い
アップロード更新において、Wagby 定義ファイルで指定した入力チェックは適用されます(「警告」チェックを除く)。 データの形式エラー(例えば、数値を入力すべきところに非数字を入力など)があった場合は、画面にエラーデータの行番号とエラーメッセージが表示されます(図10)。 この場合、データは更新(登録)されません。エラーのないデータのみ更新(登録)されます。
独自に作成した Excel ファイルをアップロードする
本機能を応用することで、Wagby の ダウンロード機能によって取得した以外のファイルもアップロード更新に用いることができます。 ただし、以下の点にご注意ください。
- アップロード更新を使用する場合、先頭の 1 行目は日本語の項目名を記載することが必要です。 この項目名はCSV ダウンロードで取得できる形式と同じものである必要があります。(異なる項目名を使用した場合は、正しく更新されません。)
- データに「"」「'」「(改行)」のいずれかが含まれる場合、そのデータ全体を引用符「"」で囲むようにしてください。また、データ内の「"」は「""」としてください。
なお、Excel を用いて「CSV形式で保存」を行うことで、引用符「"」を正しく考慮した CSV ファイルを用意することができます。CSV ファイルの仕様については、以下の資料が参考になります。
- Comma-Separated Values, Wikipedia, http://ja.wikipedia.org/wiki/Comma-Separated_Values
- RFC4130, http://www.ietf.org/rfc/rfc4130.txt
制約
本機能は現在、次のような制約があります。
- モデルに参照関係がある場合、参照先の名称を正確に記載してください。例えば、会社モデルを参照しているデータで、会社名に「山田商店」と記載していたが実際の会社モデル側にこのデータが存在しなかった場合、この項目そのものの更新が行われません。
- アップロード更新は、以下の項目には対応していません。
- 繰返し項目
- 繰返しコンテナ
- ストアモデル参照(検索画面)項目
- ストアモデル参照の項目で「参照モデルの絞り込み項目」の設定を行っている項目
- 参照連動型の項目で参照先の項目の型がチェックボックスの場合
- マスタモデル参照(チェックボックス)型項目に対して必須入力チェックを指定している場合、アップロード更新時に新規レコードが入力チェックエラーで登録されません。必須入力チェックを外した状態でご利用ください。
これらの制約を運用で回避する方法として「インポート機能」を使用することができます。 インポート機能を用いる場合、対象データは XML 形式で準備します。
トラブルシューティング
アップロード機能で特定のデータが登録できないという現象が発生した場合、次の点をご確認ください。
- そのデータに不正な文字(特殊文字、外字など)が含まれていませんか。
- また、そのデータが「一意制約チェック」に違反していませんか。











