OleDb를 사용하여 시트가 많은 Excel 통합 문서에서 읽습니다.
시트 이름을 읽어야하지만 스프레드 시트에 정의 된 순서대로 필요합니다. 그래서 다음과 같은 파일이 있다면;
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
그런 다음 사전을 가져와야합니다
1="GERMANY",
2="UK",
3="IRELAND"
나는을 사용해 보았고 OleDbConnection.GetOleDbSchemaTable()
이름 목록을 제공하지만 알파벳순으로 정렬합니다. 알파 정렬은 특정 이름이 어떤 시트 번호에 해당하는지 모른다는 것을 의미합니다. 그래서 나는 얻는다;
GERMANY, IRELAND, UK
UK
및 의 순서를 변경했습니다 IRELAND
.
정렬해야하는 이유는 사용자가 이름이나 색인으로 데이터 범위를 선택할 수 있도록해야하기 때문입니다. 그들은 '독일에서 아일랜드까지의 모든 데이터'또는 '시트 1에서 시트 3까지의 데이터'를 요청할 수 있습니다.
어떤 아이디어라도 대단히 감사하겠습니다.
사무실 interop 클래스를 사용할 수 있다면 간단합니다. 안타깝게도 Windows 서비스 및 ASP.NET 사이트와 같은 비대화 형 환경에서 interop 클래스가 안정적으로 작동하지 않아서 OLEDB를 사용해야했습니다.