최근에이 코드를 공유 할 수 있도록, 작업의 중복입니다 엑셀 작업을위한 수요가, 그리고 나는 모든 좋은 수 조언을 많은 소가있는 경우, 신인 기술적 성능을 고려하지 않은
사전 컴퓨터는 Excel을 설치해야하고 대는 Microsoft.Office.Interop.Excel 인용;
아래의 코드를 사용하기 전에, 엑셀 = Microsoft.Office.Interop.Excel를 사용하여 추가하십시오;
같은 폴더에 같은 이름을 가진 엑셀
전제 : 같은 종류의 Excel 파일 이름의 형식은 다음과 같습니다 A (1), A ( 2) 이의이.
다음과 같이 패킷, 정규식을 사용하여 :
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
. 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을 사용하거나, 너무 복잡, 실행해야합니다.
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
. (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 }