← 手順一覧へ戻る
Power Automate DesktopExcel中級よく使う

ExcelファイルをCSV形式で保存する

売上シートを別のCSVへ保存します。日本語の文字化けを避けたい場合に、UTF-8を明示して書き出す代替手順も確認できます。

画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。

実行前に確認

  • CSVに出せるのは選択した1シートの値です。ブックの複数シート、書式、数式そのものは保持されません。最初は架空データと未使用の出力先で試します。
  • 標準のCSV (.csv)保存ではUTF-8を保証しません。UTF-8を明示するなら設定内容の「UTF-8指定①〜⑤」を使います。2つの方法を続けて実行する手順ではありません。 標準保存の区切り文字は環境設定にも依存するため、コンマになっているか出力後に確認します。
  • UTF-8とUTF-8(バイト オーダー マークなし)は別の選択肢です。受け取り先が指定する形式を確認してください。Excelで開いたときの文字化けは、[データ]→[テキスト/CSVから]で文字コードを指定して確認できます。
  • UTF-8の例ではExcelの見出しをデータとして残すため、読み取りの「先頭行を列名」と書き込みの「列名を含める」は両方オフです。書き込みだけオンにすると、不要なDataTableの列名が先頭に増えます。
  • 存在確認と書き込みの間に、別の処理が同名ファイルを作る並行実行までは防げません。単独で実行し、失敗後に出力が残った場合も削除や追記をせず別名でやり直してください。先頭ゼロや日付などの表示形式は、このTyped valuesの練習例では保持を保証しません。
  • CSV読み取りのTrim fieldsは公式資料では既定がオンです。先頭・末尾の空白を除くため、書き出した値をそのまま照合する⑤ではオフを明示します。不要な前後空白を整理する用途ではオンを選べますが、元の文字列の完全一致確認とは分けます。読み取り設定は元CSVを書き換えず、文字列の途中のスペースも除きません。

1使うアクション

  1. アクション 1Excel の起動標準CSV保存の流れ。UTF-8指定は下の代替手順
  2. アクション 2アクティブな Excel ワークシートを設定する
  3. アクション 3Excel を閉じる

表で見る入力と処理結果

架空データ

売上・集計の2シートがある元ブックから、売上シートだけをCSVへ出す例です。

Desktop:Excelブック/ワークシート
C:\PAD練習\月次.xlsx/売上 → C:\PAD練習\売上.csv

以下は手順に沿った期待値です。実際のPower Automate・Excel環境で実行して確認した結果ではありません。セルや行の着目箇所には「●」を付けています。

元の表と判定する行

CSV再読込時の空白と文字数(追加練習の期待例)
CSV内の値(␠=半角空白)Trim fields読み取り値/文字数
␠ノート␠オフ:空白を保持␠ノート␠/5文字
␠ノート␠オン:前後を整理ノート/3文字
ノートオフ/オンノート/3文字
ノート␠青オフ/オンノート␠青/5文字(途中の空白は残る)
↓ 処理する行・列/設定

標準CSV保存は「売上」をアクティブにしてCSV (.csv)形式で別名保存。UTF-8指定の代替手順ではA1:B3を見出し込みで読み取り、Excelを保存せず閉じてから、CSV ファイルに書き込むへ渡します。

処理前:選んだ売上シート

元ブックには売上・集計の2シート。A1=商品、B1=売上額が見出しで、以下はA2:B3です。
行A:商品B:売上額
2● ノート● 240
3● ペン● 160

保存後:売上.csvの内容例

カンマ区切りの内容例です。UTF-8指定の代替手順も同じ3行を売上_UTF8.csvへ出します。集計シートは入りません。
CSVの行内容
1● 商品,売上額
2● ノート,240
3● ペン,160
結果の見方

売上シートの見出しと値が1つのCSVになります。月次.xlsxとは別のパスへ保存する例です。

  • CSVに残るのは選択した1シートのテキストと値です。複数シート、書式、数式そのものは保持されません。
  • 標準CSV保存は文字コードを保証しません。設定内容の「UTF-8指定①〜⑤」では、入力A1:B3 → ExcelData → UTF-8・コンマ区切り → 売上_UTF8.csv → 読み戻し確認の順です。 標準保存の区切り文字は環境設定にも依存します。
  • UTF-8指定は見出しをデータに含めて読み取るため、「先頭行を列名」と「列名を含める」を両方オフにします。見出し1行+明細2行が期待値です。
  • 同名の売上_UTF8.csvがある場合はExcelを開く前に停止します。未使用の名前で1回ずつ試し、追記による二重出力を避けます。

図で見る処理のイメージ

概念図

上の3アクションは標準CSV保存の流れです。UTF-8指定では、同じ表をExcelDataへ読み取り、元ブックを保存せず閉じてからCSV書き込みへ渡します。

  1. 元ブック

    売上・集計の2シート

  2. 選択

    売上シートをアクティブに

  3. 保存

    別名の売上.csv

  4. 結果

    売上シートの値だけ

結果の例

元ブックとは別のCSVを作ります。

設定例の概念図です。実際のPower Automate・Excelでフローを実行して確認した結果ではありません。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する10ステップの設定と確認方法
  1. 1

    標準CSV保存①:Windows版Excelと C:\PAD練習\月次.xlsx を用意します。売上シートのA1=商品、B1=売上額、A2=ノート、B2=240、A3=ペン、B3=160にします。C:\PAD練習\売上.csv がまだ存在しないことを確認してから、元ブックを開き、出力を ExcelInstance にします。

  2. 2

    標準CSV保存②:アクティブな Excel ワークシートを設定するで %ExcelInstance%、名前「売上」を指定します。実在する出力対象のシート名へ置き換えます。

  3. 3

    標準CSV保存③:Excel を閉じるで %ExcelInstance%、閉じる前に「名前を付けてドキュメントを保存する」、形式「CSV (.csv)」、パス C:\PAD練習\売上.csv にします。これはExcelの保存機能を使う方法で、UTF-8を指定する手順ではありません。

  4. 4

    UTF-8指定①:ここからは標準CSV保存①〜③と併用しない、別フローの代替手順です。上の架空データを準備し、「変数の設定」で OutputPath に C:\PAD練習\売上_UTF8.csv を設定します。最初に「ファイルが存在する場合」で %OutputPath% が存在するかを判定し、存在する側に「フローを停止」(エラーメッセージ付き、内容は「出力先が存在します。別名で実行してください」)を置いてEndで閉じます。Excelを開く前に止めるので既存CSVは変更しません。

  5. 5

    UTF-8指定②:Excel の起動で月次.xlsxを開き %ExcelInstance%、アクティブな Excel ワークシートを設定するで「売上」を指定します。「Excel ワークシートから読み取る」は範囲の値を取得、開始列A・開始行1・終了列B・終了行3、型指定された値(Typed values)、[先頭行を列名として扱う]をオフ、出力を ExcelData にします。%ExcelData% は見出しを含む3行2列です。範囲外の行や集計シートは読みません。

  6. 6

    UTF-8指定③:Excel を閉じるで %ExcelInstance% を保存せずに閉じます。この代替手順では元の月次.xlsxを変更しません。読み取りに失敗したら先へ進まず、開いたExcelを確認して閉じてください。

  7. 7

    UTF-8指定④:「CSV ファイルに書き込む」は、書き込み対象の変数=%ExcelData%、ファイル パス=%OutputPath%、エンコード=UTF-8、区切り記号=コンマ、カスタム列区切り文字を使用する=オフ、列名を含める=オフにします。既にExcelの見出しをデータの1行目として読み取ったため、列名を別に出力しません。既存時の選択は上書きのままでも、①の存在確認を省かないでください。追記は選びません。

  8. 8

    UTF-8指定⑤:CSV ファイルから読み取るで %OutputPath%、エンコード=UTF-8、区切り記号=コンマ、[最初の行に列名が含まれている]をオフ、[フィールドのトリミング(Trim fields)]をオフ、出力を CsvCheck にします。変数の内容を開き、3行2列で、先頭行が商品/売上額、次の行がノート/240、最後の行がペン/160になっているか確認します。見出しは1回だけです。この確認だけで受け取り先のシステムでの読み込み成功は保証しません。

  9. 9

    確認例:未使用の売上_UTF8.csvなら見出し1行+データ2行のCSVを期待します。同じ出力名で再実行すると①で停止し、既存ファイルはそのままです。元ファイルがない・売上シートがない場合は読み取りまでに失敗し、CSVを書き込む工程へ進めません。手順のエラー時設定を「次のアクションへ移動」に変更しないでください。 この固定範囲の例は、空欄や見出しの内容を自動検証するフローではありません。

  10. 10

    空白の確認(任意の追加練習):月次.xlsxの練習用コピーでA2だけを、ノートの前後に半角スペースを1個ずつ入れた「 ノート 」に変えます。①のOutputPathは未使用の別名にし、②〜⑤を同じ設定で実行します。CsvCheckの2行目・1列目の値と文字数を確認し、前後の空白込みで5文字を期待します。表の␠は空白を見えるようにした記号で、セルには入力しません。既存CSVへ再出力せず、読み取り設定だけをオンに変えて同じCSVを再読込すると3文字になる期待例です。

Microsoft公式ページで確認する

設定を確認できる公式資料