[C 번호] 엑셀 동일한 폴더에 같은 이름의 엑셀 동작하고 단일 엑셀 파일로 결합

최근에이 코드를 공유 할 수 있도록, 작업의 중복입니다 엑셀 작업을위한 수요가, 그리고 나는 모든 좋은 수 조언을 많은 소가있는 경우, 신인 기술적 성능을 고려하지 않은

사전 컴퓨터는 Excel을 설치해야하고 대는 Microsoft.Office.Interop.Excel 인용;

아래의 코드를 사용하기 전에, 엑셀 = Microsoft.Office.Interop.Excel를 사용하여 추가하십시오;

 

 

같은 폴더에 같은 이름을 가진 엑셀

전제 : 같은 종류의 Excel 파일 이름의 형식은 다음과 같습니다 A (1), A ( 2) 이의이.

다음과 같이 패킷, 정규식을 사용하여 :

. 1  ///  <요약> 
2          /// 같은 이름의 엑셀 패킷
 . 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      }
코드보기

 

같은 폴더는 하나의 엑셀로 통합

전제 : 이 루트 디렉토리에 어떤 파일이없고, 수요가있는 경우, 자신을 수정하시기 바랍니다 위의 그룹 코드의 사전 구현, 그래서으로.

 처음에 나는 엑셀 매크로 작업을 사용하지만, 하나는 그렇게하는 대신 실행 자동으로 C # .NET을 사용하거나, 너무 복잡, 실행해야합니다.

. (1)  ///  <요약> 
2          /// 복수 조합 엑셀
 . 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          }
코드보기

 

추천

출처www.cnblogs.com/gdvxfgv/p/10954085.html