Q&A

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

テーブルデータのExcel出力について

ktkt ktkt

2024-03-11 13:54

CELF初心者です。初歩的な質問になりますが、ご教授いただけると助かります。

①CSVをCELFのシートに取込
②①のシートをテーブルに取込(カラム名IDが被っているので、一旦シートに取込後テーブル取込)
-----------------------------------
③②のテーブルと他のテーブルを利用して書式の決まっているExcelに出力

上記を実施したいのですが、テーブルからExcelへの直接出力は出来ないのでしょうか?
③を実施する際にはいったんシートに出力してからExcelへの出力になりますか?

ご教授いただけると助かります。

ktkt ktkt
ご説明いただき、ありがとうございました。
またご質問することもあると思いますので、その際はよろしくお願いいたします。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
うまく処理できたとのことお役に立てて幸いです。

「アプリのシートを切替える」と「新規ウィンドウで表示する」の違いに関して、
認識にほとんど相違ないかと思います。
以下、ご参考になれば幸いです。

「アプリのシートを切替える」では、
元々開いていた画面①を閉じ、新しい画面②を開く処理になるため
①を閉じてしまっていることでアクションで取得したデータが保持されず
②にデータを反映することができません。
※シート上にあらかじめセットされているデータはそのまま反映されます。

「新規ウィンドウで表示する」では、
①を開いたまま、②を開く処理になります。
①で取得したデータがシート上に残っているため、
②でそのまま反映される形になります。


以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
「新規ウィンドウで表示する」に変更したところうまくいきました!!
ありがとうございました。

「アプリのシートを切替える」と「新規ウィンドウで表示する」の違いは、
直前までのデータを保持するかしないかの違いになるのでしょうか?


新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
メダルベストアンサー
こんにちは。

ご質問ありがとうございます。

8のアクション「アプリのシートを切替える」アクションを実行していることで
1-7を実行している画面が閉じられ、データが保持されず
1-7で取得したデータがExcelに反映されていないのではないかと思われます。

8のアクションを「新規ウィンドウで表示する」に変えていただくことで
1-7で取得したデータが保持され、出力シートに反映されるようになるのではないでしょうか。

検討違いであれば、お手数おかけしますが再度ご連絡ください。

また、事象が解決されましたら今後の励みなりますので
ベストアンサーをいただけますと幸いです。

以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

上記、8、9のアクションを追加すると曜日に色を付けたExcelを出力出来ました。
ただ、8以前のアクションでシートに出力していた内容がExcelに反映されなくなりました。

8、9を削除すると8以前のアクションでシートに出力していた内容がExcelに出力されます。

間になにかアクションが必要なのでしょうか?

よろしくお願い致します。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
ご質問ありがとうございます。

ご質問いただいた内容に関して、イメージの通り①の方法で
Excel出力をするシートの初期表示時のアクションに
曜日の色を変更するアクションを実装する形になるかと思います。

ご参考になれば幸いです。
以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

シート上に日付が設定(以前画像のHLOOKUP)されていますので①の方法
になると思っていますが、ボタンがある(データが表示されている)シートと
出力する(Excelの大元)シートは別シートになっています。

出力するシートは画面上開かずにExcel出力しているのですが、
一旦表示してから別途アクションを実行するイメージになりますか?

度々お手数お掛けしますが、よろしくお願いいたします。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんにちは。

実際に、どのタイミングでアクションを実行するのかという点に関しては
以下の方法が考えられるかと思います。

①シート上に日付があらかじめ設定されている場合は
初期表示時にアクションを実行するように設定する

②シート上に日付があらかじめ設定されておらず、
DBから取得している・手入力で値を打ち換えることを想定している等の場合は
値変更時、ボタン押下時などに設定する

上記、日付データを取得したタイミングで実行していただければと思います。

ご参考になれば幸いです。
以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

ご教授いただきました内容で単独では曜日に色を付けることが出来ましたが、
実際にはどのタイミングでこのアクションを実行すればいいのでしょうか?

『シートをExcelファイルとして保存する』の前に入れる形になりますか?

度々お手数お掛けしますが、ご回答いただけると助かります。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
アクション
シート
こんにちは。

CELFでは、条件付き書式は反映されないため
土曜は青、日曜は赤といった色の設定をするためには
アクションを使用して変更する必要があります。

キャプチャのように、条件を設定し
「セルの書式を変更する」アクションをセットすることで
土曜は青、日曜は赤といった色の設定ができるかと思います。
※カウンタなどは、任意の位置にセットしていただければと思います。

書式を設定するアクションを使用する際、表示形式が「標準」になるため
フォントの色だけではなく元の書式の表示形式の設定も忘れないようにしてください。

ご参考になれば幸いです。
以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

「2024-03-14 11:39」に回答いただきました、ExcelのテンプレートにCELFに
取り組む部分について追加の質問があります。

カレンダーの曜日を取得する際に、土曜は青、日曜は赤になった文字を取得する
関数が入っていますが色については反映されないのでしょうか?

新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー

こんにちは。
追加のご質問ありがとうございます。

直接アクション等を使用し、あるテーブルからほかのテーブルへデータをインサートする方法はありません。

そのため、①シートへの出力を行うもしくは②CSV出力・登録アクションを使用し
今回テーブル→前回テーブルへの登録を行う形になるかと思います。

ご参考になれば幸いです。
以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

CSVの変換処理を間に挟みカラム名を変えて、テーブル取込を行いたいと思います。

もう一点追加で教えてください。
前回、今回比較を行う際に、今回テーブル→前回テーブル(今回と定義は同じもの)に
コピーしたいのですがどのようなアクションを使えば実現できるでしょうか?
SQLを使おうと思いましたが、シートへの出力が必要でしたので
直接テーブルからテーブルへデータをインサートする方法があれば教えていただけないでしょうか?

よろしくお願い致します。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
こんにちは。

ご質問ありがとうございます。


CELFではテーブル登録時、
「ID」「LAST_UPDATER」「LAST_MODIFIED」が自動的に登録されます。

そのため、解決方法としましてはカラム名「ID」を修正していただくということになるかと思います。
例)「ID」→ No、○○IDなど

カラム名を変更していただくことで、
「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

ご参考になれば幸いです。
ご不明点等ございましたらお気軽にお問い合わせください。
以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございました。

教えていただいた通り実施したところ、無事Excelへの出力が行えました。
ありがとうございました。

もう一点質問があります。
処理を作る際に最初に下記の流れで行っているのですが、CSVにカラム名が「ID」が
ある場合は一気にテーブルに取り込むことは難しいのでしょうか?
「ID」は処理で使用するので取込したいカラムになっています。

まだ実現出来ていませんが、前回取り込んだテーブルと今回取り込んだテーブルの
比較を行いためテーブル取込としています。

-------------------------------------------
①CSVをCELFのシートに取込
②①のシートをテーブルに取込(カラム名IDが被っているので、一旦シートに取込後テーブル取込)
-------------------------------------------

以上、よろしくお願い致します。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
出力指示シートになります。
出力ボタンにこちらのアクションが紐づいております。
お返事ありがとうございます。

CELFでは、Excelのシートのセル結合と解除を行うことはできません。
従って、記載の動作は手動で行っていただく必要がございます。

下記のようなイメージで作業していただくことになるかと思いますが、
①と③に関しては手動で行っていただく形になります。

①.結合しているセルを全て解除する
②.前述したCELFのアクションを使用し、Excelのシートに値を配置する
③.①で解除したセルをもう一度結合する



手動での処理を減らしたい場合は以下の方法も考えられれます。
①出力先のテンプレートシートをCELFに取り込む
②シートを新規作成(出力指示シート)し、テーブルからデータを取得するアクションを実行する
③①で取り込んだシートに、データを転記するための関数を記載する。
 氏名:=出力指示シート!B7
 会員番号;=出力指示シート!C7
 生年月日(年):=LEFT(出力指示シート!D7,4)
 生年月日(月):=MID(出力指示シート!D7,5,2)
 生年月日(日):=RIGHT(出力指示シート!D7,2)
④『シートをExcelファイルとして保存する』アクションを使用し①のシートをExcelとして出力する
※こちらのアクションはシート全体をExcel出力するため、セル結合に影響されません
⑤シートは保存できるので、二回目以降に関しては③と④のアクションを実行するだけで、出力できます。


こちらの手順であれば、手動の操作を最小限まで減らすことができます。
正し、二重線や条件付き書式等CELFに実装されていない機能に関しては再現できないため、そちらに関してはExcelにて出力後手動で直して頂く必要があります。

以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

セル結合を解除して出力して、その後セルを結合する場合
具体的にどのようなアクションになりますか?

出力先テンプレートの画像を添付しますが、氏名、会員番号、生年月日の
複数項目でセル結合が行われている状態になっています。

項目ごとにセル結合を解除、結合になるのでしょうか?
その場合の繰り返し処理のイメージもついておりません。

何度も申し訳ありませんが、アドバイスいただけると助かります。
よろしくお願い致します。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
複数行出力ができたのこと、お役に立てて幸いです。

ご連絡いただきました事項に関しまして、
CELFのヘルプページを下記に添付いたしますが
「セット先セル範囲に結合されたセルが含まれている」場合
Excelファイルにはこのアクションを使用してデータをセットできないようです。

アクション実行時には、出力先のセル結合を解除していただき
その後セルを結合していただくイメージの通りかと思います。

https://cloud.celf.jp/celf-help/ja/texts/action_use/file/set_cell_data_to_excel/set_cell_data_to_excel.html

以上、よろしくお願いいたします。
メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

先ほど教えていただいた方法でExcelへの複数行出力が出来ました。

ただ、出力先のテンプレートの対象セルがセル結合していまして、
そのままでは出力時にエラーとなってしまいました。
一旦セル結合を解除して、出力テストを行いました。

このテンプレートは外部で指定されたものなので、
弊社側で変更を加えることが出来ない状態です。

何かいい方法はありませんか?
セル結合を解除して出力して、その後セルを結合するようなイメージになるでしょうか?

何度もお手数お掛けしますが、アドバイスいただけると幸いです。
よろしくお願い致します。
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー

こんにちは。

キャプチャのように、指定するセルをデータの取得範囲に設定することで
繰り返しの処理を行わずに取得した複数行のデータをExcelに出力することができます。

データの取得数に応じてセルの範囲を設定するのではなく、
B100:C200といったように広めに設定することで
その都度セル範囲の修正を行う必要なく処理を実行できるかと思います。

ご参考になれば幸いです。
不明点等ございましたらご連絡ください。
よろしくお願いいたします。

メールコンタクトをとる
ktkt ktkt
ご回答いただき、ありがとうございます。

Excelに出力する部分ですが、
複数行を出力する場合の繰り返し処理はどのように記載すればいいのでしょうか?
日本コンピュータシステム(CELFチーム) 日本コンピュータシステム(CELFチーム) パートナー
こんにちは。
1つ処理が増えてしまいますが、下記のようにすれば可能ではないでしょうか。
具体的な内容がよく分かっていない状態で回答しているため、
的外れな回答になっていましたらすみません。

 ・②のテーブルと他のテーブルのデータをSQLで取り出して出力用テーブルに登録する。
 ・出力用テーブルの値を「データ操作」シートの「テーブルのデータをCSVファイルとして保存する」
  を利用して保存する。
メールコンタクトをとる
新日本コンピュータマネジメント株式会社 新日本コンピュータマネジメント株式会社 パートナー
シートに展開してExcel出力する場合
直接CSV出力する場合
こんにちは。

テーブルからExcelへの直接出力は出来ません。

以下、ご参考になれば幸いです。

①CSVデータをシートに展開
②シートに展開されたデータをテーブルに登録
③「複数のテーブルから選択をする」をチェックし出力したいテーブルを選択しデータをシートに展開

④「セルのデータをExcelファイルにセットする」アクションを使用しデータを出力
→こちらでExcelファイルの任意の位置にデータをセットすることができます。

こちらで、テーブルデータをExcelに出力することが可能になるかと思います。


また、一つのテーブル且つ出力形式がCSVであれば
テーブルデータをシートに展開せず直接出力することは可能です。

以上、よろしくお願いいたします。
不明点等ございましたら、ご連絡ください。
メールコンタクトをとる