2013-04-24 3 views
0

두 Excel 파일을 비교하는 도구를 개발 중입니다.두 Excel 파일 비교

하나의 엑셀 파일은 약 300-400 행을 포함합니다. 각 Excel 파일에는 열 수가 다른 4 개의 테이블이 있습니다. 테이블은 하나의 시트에서 차례로 정렬됩니다.

필자는 Beyond Compare, TestComplete 및 ExcelCompare 매크로와 같은 Excel 비교 도구를 소스 단조에서 사용해 보았습니다. 그러나 아무도 일하지 않았다. 나는 파일이 다른 테이블을 포함하고 있기 때문이라고 생각한다. 그래서 Excel 파일을 비교하는 도구를 개발할 계획이었습니다. 그러나 제 연구에 따르면 단순한 작업이 아닙니다 :)

내 접근 방식은 2 엑셀 파일 (A.xlsx의 첫 번째 행과 첫 번째 행)에서 2 행을 추출하는 것입니다. Bills from B.xlsx) 한 번에 값을 sperate 2 배열에 넣은 다음 값을 비교합니다. 다른 값을 확인하고 새 Excel 파일에 다시 씁니다.

이 방법은 효율적으로 또는 300 개의 행이있는 파일에 적합합니까? ... ??? 누구나 다른 아이디어를 가지고 있다면 나와 공유하십시오.

개발을 위해 C# 및 Excel 2010을 사용할 계획입니다.

어떤 도움에 감사드립니다 :)

+1

두 개의 데이터 테이블을 채우고 비교합니까? –

+0

@DT 제안뿐만 아니라 FileHelpers.com과 같은 것을 사용하여 Excel의 데이터 범위를 읽을 수 있습니다. 그럼 StackOverflow에서 DataTables를 비교하기위한 답변이 많이 있습니다. 접근 방식의 약점 중 하나는 데이터가 동일한 순서로 있다고 가정한다는 것입니다. – dash

+0

ClosedXML과 같은 것을 보셨나요? 쉽게 데이터를 Excel 파일로 가져오고 퍼팅하는 데 좋습니다. http://closedxml.codeplex.com/ – Charles380

답변

3

내 접근 방식은 CSV로 모두 시트를 변환하는 것입니다 (CSV 형식으로 저장하여, Excel이 당신을 위해 할 수있는) 다음 차이점을 찾을 문자열 거리 알고리즘을 사용합니다. 파일 Comparer 및 기타 컨텐츠 비교 도구는이 알고리즘을 사용하여 꽤 좋은 결과를 제공합니다.

이 방법은 전체 셀의 나머지 부분을 다르게 표시하는 대신 누락 된 행이 깔끔하게 식별된다는 이점이 있습니다 (선형 셀 단위 비교와 비교).