[C#の] Excelで同じフォルダに同じ名前のExcelの操作、及び単一のExcelファイルに結合

最近、そこにコードを共有するように、作業の重複しているとして、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                  のforeachVARのファイル内のファイル)
 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          }
コードの表示

 

おすすめ

転載: www.cnblogs.com/gdvxfgv/p/10954085.html