Csvをxlsxに変換したい

「A」というフォルダ内にcsvとxlsxのファイルが混在しています。

csvだったらxlsxに変換して処理をしていきたいと思っています。
現状は
「繰返しコレクション」の中に
「条件分岐」:拡張子がcsvだったら
①「csvを読みこみ」で
読み込み元ファイルを「item.ToString」、出力先を「dt_読込内容」
②「代入」処理ファイル名=System.IO.Path.GetFileNameWithoutExtension(item.ToString)+".xlsx"
csv以外だったら
「代入」処理ファイル名=System.IO.Path.GetFileName(item.tostring)

その後エクセルアプリケーションを配置し、ブックのパスに「処理ファイル名」
実行の中に「範囲を追加」をおき、"Sheet1"は既に表示されているのでそのまま使い、データテーブルを「dt_読込内容」としています。
ただこれだと、xlsxのファイルだったら「dt_読込内容」がそもそもないのでエラーになります。
なので条件分岐で「dt_読込内容」が空だったら、「範囲を読み込み」の処理に移りたいです。
また、csvだったら「範囲を追加」→「範囲を読み込み」の流れでよいのでしょうか。

以上2点、ご教授よろしくおねがいいたします。

こんにちは

IFの条件式として

 dt_読込内容 is Nothing

になります。ただし変数スコープにもよりますがdt_読込内容を都度初期化しないと前回の値が入ったままになるかもしれませんのでご注意ください

また、csvだったら「範囲を追加」→「範囲を読み込み」の流れでよいのでしょうか。

範囲読み込みしなくても、すでに同じ内容のDataTableをdt_読込内容として持っているのでは?
そうであればあえて読み込む必要性は無いように思えます。(読み込んでも問題はないと思いますが)

また範囲を追加ですとヘッダの付与ができないように思えますので、必要に応じて範囲に書き込みを使用してみてください。

ご回答ありがとうございます。

教えていただいた通りにしたら上手くいきました。

ありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.