[Office] 엑셀문서 접근 시 주의사항
2015. 7. 17. 20:05ㆍOthers/C# 일반
Microsoft.Office.Interop.Excel을 통해 Excel문서에 동적으로 접근할 때 주의할 사항
HRESULT: 0x800A03EC
이 오류코드는 ‘접근오류’를 의미한다
- Cells에 1 미만의 Index를 지정했을 때 (반드시 1부터 시작)
- Excel 2003 문서는 최대 256개 Column, 65,536개 Row까지 지원함 (2007부터는 최대 16384개 Column, 1,048,576개 Row를 지원)
- Cell에 Lock이 걸려 있는 등, 쓰기 불가 상태인 경우
- 병합된 셀은 반드시 해당 Cell의 첫 번째 Row Index, Column Index를 통해 접근해야함
(예: A3부터 B5까지 병한한 셀은 반드시 A3로만 접근해야 함) - 셀의 내용은 = 문자로 시작할 수 없음. ‘=으로 치환이 필요
- 엑셀문서의 경로는 반드시 존재해야 하며, 경로문자열은 유효해야 함
- Worksheet이름 지정 시 다음 명명규칙을 위배했을 때
- 31자 이하로 작성할 것
- 특수문자 \ / : *[ ]는 허용되지 않음
- 이름은 공란으로 둘 수 없음
- 특수문자 ‘만 입력한 경우
HRESULT: 0x80070bbc
이 오류코드는 엑셀파일이 ‘신뢰할 수 없는 경로’에 존재할 경우 발생합니다.
오류내용
이 오류 발생 시 다음과 같은 예외가 발생합니다.
[영어] System.Runtime.InteropServices.COMException (0x80070BBC): Office has detected a problem with this file. To help protect your computer this file cannot be opened.
[한글] System.Runtime.InteropServices.COMException (0x80070BBC): 이 파일을 여는 데 문제가 있습니다. 컴퓨터를 보호하기 위해 이 파일을 열지 못하도록 합니다.
해결방법
- 오류가 발생하는 시스템에서 Excel 프로그램을 실행합니다.
- 상단 메뉴에서 [파일]→[옵션]→[보안세터]→[보안 센터 설정(T)...]→[신뢰할 수 있는 위치]로 이동합니다.
- [새 위치 추가(A)...] 버튼을 클릭하여 엑셀 파일이 위치하는 경로를 입력합니다.
'Others > C# 일반' 카테고리의 다른 글
[.NET] Framework Profiles in .NET (0) | 2016.03.30 |
---|---|
[C#] Portable Class Library (0) | 2016.03.29 |
[C#] Async, Await를 이용한 비동기 프로그래밍 (6) | 2014.03.26 |
[C#] N개의 공백을 하나의 공백으로 치환하기 (1) | 2013.12.27 |
[C#] File, Directory, FileInfo, DirectoryInfo, Path (0) | 2013.06.09 |