Q&A

回答の並べ替え:
投稿新規に質問を投稿する

CSVデータをアクション利用してテーブルに取り込みたいです

miyu miyu

2023-07-10 15:46

いつもお世話になっております。
CELF初心者のため、教えていただけますと幸いです。

CSVデータをアクション設定を利用して、テーブルへ取り込んだ後にテーブル内で検索条件をかけて再度エクセルに表示させたいです。

下記のアクション内容にて組んでみましたがテーブルに上手く反映されなかったです。
他のやり方や改善点をお教えいただけますと幸いです。

miyu miyu
CSVからテーブルに登録するで無事に取り込むことができました。
ありがとうございます!
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
メダルベストアンサー
全く別の案内になってしまいますが、「CSVファイルのデータをテーブルに登録する」という機能があります。
https://cloud.celf.jp/celf-help/ja/texts/action_use/data/register_csv_file_data_in_table/register_csv_file_data_in_table.html#id1
CSVの1行目のヘッダー名とテーブルの列名が一致している必要があります。
テーブルカラムの「ID」「LAST_UPDATER」「LAST_MODIFIED」はCSVに無くてもOKです。

上記が満たせていれば、これだけでCSVをテーブルに取込めるので、簡単です。
また、CSVデータが6万5千を超えている様なデータの場合、シートに展開できないので、取込はこの方法になります。
メールコンタクトをとる
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
1列目のデータはCSV内では、20桁以上の数字になっておりますでしょうか。
こちらは文字コードの問題による文字化けではなく、長い数字を取込む際に、「指数表記」になっています。
※文字化けと勘違いしておりました。すみません。

1列目は1文字でも英字などが入れば文字列となり指数表記にならないのですが、実際に利用される場合も、長い数字になりますでしょうか。
※上記であれば、発生しなくなります。

また、フォーカスを当てた際に、セルの中の値も同じ値でしょうか。
それとも、セルの中の値は長い数字でしょうか。
※別の列で、「="A"&A1」として文字列として無理やり値を取得する事も可能かと思いました。

メールコンタクトをとる
miyu miyu
新日本コンピュータマネジメント株式会社様

何度もご回答いただきありがとうございます。
CSV開かずに取り込ませても(新しくCSVデータ落として取り込ませた)、文字化けしてしまいました。
他の要因でなにかないか今一度確認いたします。
いつも丁寧なご回答ありがとうございます。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
ご確認頂きまして、ありがとうございます。
CSVファイルとして一度でも開いてしまうと、文字化けが起こるケースがあるようです。
文字化けしてしまったCSVファイルについては、下記をお試し頂けますでしょうか。

①サクラエディタで一度開き、上書き保存をする。
※CSVファイルを一度も開いていない場合は①は省略ください。
②CSVファイルとしてファイルを開かずに、CELFのアクションで読込を行う。

どうぞよろしくお願いいたします。
メールコンタクトをとる
miyu miyu
濃い青枠が文字化け+0落ちしておりました
新日本コンピュータマネジメント株式会社様のアドバイス通り繰り返し条件を変更したら正常処理されました。ありがとうございます。
しかし返ってきた値が文字化けしており、どうすれば数値として返ってくるのかも教えていただけますと幸いです。
度重なる質問で申し訳ございません。
(2枚目資料のアクションにて文字列指定済みとなっております)
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
お試しくださいまして、ありがとうございます。
「長時間応答がありません~」のメッセージについては、開発中のシートでのみ表示されるメッセージですので、「はい」を押して処理を続けて頂いて問題ございません。

また、3番のアクションでCSV貼り付け領域の値クリア(A15:G1000)を行っている箇所がございますが、
1番のCSV貼り付けアクションの前にアクションを移動頂くのが良いと思います。
現在のアクションの位置ですと、CSVを貼り付けたすぐ後に、DBにデータを登録する前に、貼り付けた値のクリア処理が実行されてしまいますので。

最後に、繰り返し処理について補足をさせて頂きたいと思います。
先ほどの繰り返し条件(=C1<=1000)ですと、データが末行まで無い場合でも、1000行目まで処理が動いてしまいます。データが無い行については、全て「空欄」で、データ登録されるかと思われます。
こちらを回避するには、繰り返し条件を「=INDIRECT("A"&C1)<>""」としていただくと、A列の値が空欄になるまで(=データのある行まで)を、繰り返し処理を行っていただくことができます。
メールコンタクトをとる
miyu miyu
いつもご回答ありがとうございます。
新日本コンピュータマネジメント株式会社様のアドバイス通りに下記の内容に書き換えてみましたが、CELF側でエラーが出てしまいました。
(ヘッダーのかぶりを防ぐため元データ14行目から貼り付けに変更いたしました。アドバイスありがとうございます。)
Yexiongmao Yexiongmao
こんにちは。

データセ操作アクションの「csvファイルのデータをテーブル~に登録する」
を使用すれば、それだけでテーブルにデータを追加することができます。
csvファイルの内容とテーブルの関連は、IDと、LAST_UPDATER、LAST_MODIFIEDを除いた項目名とデータ型が一致している必要があります。
csvファイルの項目名を変えることができないのであれば、csvファイルの項目名と全く同じ項目名のテーブルを作成する必要があります。
(項目が多い場合はテーブル定義のcsvファイルを作成すれば簡単にテーブル作成ができます。)
ちなみに、「テーブル~にデータを登録する」アクションは一度に一行(1レコード)を登録するので、繰り返し処理が必要になります。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんにちは。
データ登録アクションは、登録する値に「A15:A1000」のように、範囲指定が出来ないと思いますので、繰り返しアクションと組み合わせて、添付画像のように、1行1行登録していくイメージになります。
またご質問の箇所ではございませんが、行削除のアクションは、処理速度が遅くなる要因になり得ますので、なるべく使用しない方がよろしいかと思いました。
もしCSVにヘッダー部分があるようでしたら、14行目から貼り付けて頂ければ、行削除を行わずに、15行目から繰り返し処理を行うことができるように思いました。
ご確認いただけますよう、どうぞよろしくお願いいたします。
メールコンタクトをとる