Excelファイルを項目別に分割する処理をC#でやるにはどうすればよいでしょうか?

たとえば発注管理表に書かれているデータを発注先ごとにわけるにはどうすればよいでしょうか?

これを発注先の名前で複数のファイルにわける。

ここではClosedXMLというライブラリを使います。

ExcelなしでExcelファイルを操作するには?(ClosedXML編)[.NET 4.0、C#/VB]:.NET TIPS – @IT

処理の対象になるファイルを選択しそこからデータを読み取るのですが、読み取ったデータを格納するクラスをつくります。データには発注先、商品名、単価、数量があるので・・・

では引数で渡されたパスのExcelファイルを読み取ります。

次にGetDatasFromExel(string filePath)メソッドを実行して得られたDataのリストを発注先でグループにわけます。

分割されたデータを保存するフォルダを決めます。処理対象になったファイルが存在するフォルダのなかに現在時刻をもとに新しいフォルダを作成し、そこに出力します。フォルダ名はoutput-2020-11-15-10-30-00のような名前になります。

OutputFiles(string outputFolderPath, IGrouping group)メソッドは第一引数のフォルダに第二引数でわたされたデータをExcelファイルで保存するメソッドです。

ここではファイル名を発注先の名前にしています。

最後に全部の処理をつなげるとこうなります。