質問
ヘッダが2行以上あるExcelファイルからデータ部のみを取得してCSVファイルに出力したいのですが、どのようにスクリプトを作成すれば実現できますか。
回答
Excel[シートから読み取り]処理でシートの全てを読み込んだ後、[繰り返し(データ件数)]と[条件分岐]を使用することで、データ部のみをCSVに出力することが可能です。
以下、処理の説明フロー図とマッピング画面のキャプチャ、ポイントとなるコンポーネントの設定値記載しますので、参考までにご確認ください。
■フロー図
■マッピング画面
■各コンポーネントの設定
ポイントとなる点のみ記載します。
・Excelシートから読み取り
開始条件は指定しません。
・条件分岐(条件)
繰り返し(データ件数)のコンポーネント変数[count]が「2」以上 ※ヘッダの行数
・マッピング
[コンポーネント変数]>[foreach]>[count]>「row」と
[csv_write]>[table]>「row」を繋ぐ
補足
不要なデータの出力をスキップする場合、[条件分岐]の前でスクリプト変数に検査したいカラムの値を代入することで、不要なデータの出力をスキップすることができます。
以下の図はいずれかのカラムが空であった場合は不要と判断し、その行はCSVに出力しないようにしています。
■フロー図
■変数代入
■条件分岐(条件)
■各コンポーネントの設定
ポイントとなる点
・変数代入
繰り返し(データ件数)と条件分岐の間に配置します。
・条件分岐(条件)
不要データの条件を設定します。
コメント
0件のコメント
記事コメントは受け付けていません。