最近、そこにコードを共有するように、作業の重複しているとして、Excelの操作のための需要は、ある、と私は、すべてのより良いことが助言する大きな牛があれば、新人技術的性能を考慮していません
アドバンス・コンピューターは、Excelをインストールする必要があり、その後、VsはMicrosoft.Office.Interop.Excel引用しました。
以下のコードを使用する前に、エクセル= Microsoft.Office.Interop.Excelを使用して追加してください。
同じフォルダに同じ名前のExcel
前提:同じタイプのExcelファイル名の形式は:(1)、A( 2) これは。
以下のように、正規表現を使用してパケット:
。1 /// <概要> 2 /// 同じ名前のExcelパケット 。3 /// </要約> 。4 、ボイドのMoveFile() 。5 { 6 // 独自のパスに 。7 文字列のパス= @ " C:Users \ユーザー\妥当\デスクトップ\表" ; 8 DirectoryInfoルート= 新しい新しいDirectoryInfo(パス) 。9 のFileInfo [] =ファイルroot.GetFiles(); 10 。11 正規表現fileRegex = 新しい新しい正規表現(@" +(= \()。?" )。 12 13 foreachの(VARのファイル内のファイル) 14 { 15 のvar fileNameに= fileRegex.Match(file.Name).ToString(); 16 17 VAR TARGETPATH = $ @ " {パス} \ {fileNameに} " 。 18 19 // 以文件名创建子目录 20 であれば(!Directory.Exists(TARGETPATH)) 21 { 22 Directory.CreateDirectory(TARGETPATH)。 23 } 24 25 file.MoveTo(Path.Combine(TARGETPATH、file.Name))。 26 } 27 28 Console.Read()。 29 } 30 }
同じフォルダには、単一のExcelに合併しました
前提:上記のグループコードの事前の実装として、これがルートディレクトリにはファイルがありませんし、需要がある場合は、あなた自身を変更してください。
当初、私は、Excelのマクロ操作を使用しますが、一つは、あまりにも面倒実行する必要があるので、代わりにC#]を使用するか、自動的に実行します。
1 /// <まとめ> 2 /// 複数を組み合わせEXCEL 。3 /// </要約> 。4 ボイドMergeExcel() 5 { 6 // 自分自身のパスに 。7 文字列のパス= @ " C:ユーザー\ \合理的な\デスクトップ\表" ; 。8 DirectoryInfoルートは= 新しい新しいDirectoryInfo(パス); 9は、 // すべてのサブディレクトリを取得 10件 のvar diresの=のroot.GetDirectories(); 。11 foreachの(VARディレクトリ内dires) 12であります { 13 まずExcel.Applicationアプリ= 新しいまずExcel.Application()。 14 Excel._Workbook結果= app.Workbooks.Add()。 15 // 获取子目录的文件 16 のFileInfo [] =ファイルのdir.GetFiles()。 17 18 のforeach(VARのファイル内のファイル) 19 { 20 Excel._WorkbookのWB1 = app.Workbooks.Open(Path.GetFullPath(file.FullName))。 21 のforeach(Excel._Worksheetそれぞれにおけるwb1.Sheets) 22 { 23 each.Copy(result.Worksheets [ 1 ])。 24 } 25 wb1.Close()。 26 } 27 result.SaveAs($の@ " {dir.FullName} \ new.xlsx " ); 28 app.Quit()。 29 } 30 }