본문 바로가기
개발언어/C#

[C#] Excel저장시 오류 해결

by 창용이랑 2021. 11. 18.
728x90
오류메시지 : Microsoft.Office.Interop.Excel.ApplicationClass’ 형식의 COM 개체를 인터페이스 형식 ‘Microsoft.Office.Interop.Excel._Application’(으)로 캐스팅할 수 없습니다. 라이브러리가 등록되지 않았습니다. (예외가 발생한 HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) 오류로 인해 IID가 '{000208D5-0000-0000-C000-000000000046}'인 인터페이스의 COM 구성 요소에서 QueryInterface를 호출하지 못했으므로 이 작업을 수행할 수 없습니다.
위와 같은 오류가 나타날시에 아래의 사항을 확인해주십시오.
1. 레지스트리 편집기 실행 (실행창에 regedit)
2. HKEY_CLASSES_ROOTTypeLib{00020813-0000-0000-C000-000000000046} 경로로 들어가십시오
3. 폴더에 1.8 또는 1.9 등 버전이 여러개 있을 경우 값이 없는 폴더는 삭제해주십시오.

나는 같은 문제가 있으며 며칠 동안 해결책을 찾았습니다. 오늘 찾았습니다. 도움이 될 수 있습니다 (1.9를 삭제하고 1.8을 남겼습니다)


이것이 코드 관련 오류가 아닌 경우 레지스트리에서 아래 제공된 키를 제거하십시오.

단계 :

시작-> 실행-> regedit-> HKEY_CLASSES_ROOT-> TypeLib-> {00020813-0000-0000-C000-000000000046}-> 1.8 / 1.7 (삭제)

해결 방법 :이 문제는 상위 버전의 Office에서 남은 잘못된 레지스트리 키를 삭제하여 해결할 수 있습니다. 위의 단계를 따르십시오.

원인 :이 문제는 Microsoft Office 버전을 Office 2010에서 Office 2007로 또는 Office 2013에서 Office 2010 또는 2007로 다운 그레이드 한 경우 남은 레지스트리 키로 인해 발생합니다.

이 솔루션이 도움이되지 않는 경우 알려주십시오.