.XLSB 파일이란?
XLSB 파일 형식은 Excel 통합 문서 콘텐츠를 지정하는 레코드 및 구조의 모음인 Excel 이진 파일 형식을 지정합니다. 콘텐츠에는 숫자, 텍스트 또는 숫자와 텍스트, 수식, 외부 데이터 연결, 차트 및 이미지 모두의 비정형 또는 반정형 표가 포함될 수 있습니다. XLSX(Open XML 파일 형식 기반)와 달리 XLSB는 바이너리 Excel 통합 문서 파일을 나타냅니다. XLSB 파일은 더 빠르게 읽고 쓸 수 있어 대용량 파일 작업에 유용합니다. XLSB는 XLSX(이전에는 XLS)가 통합 문서를 저장하기 위해 가장 일반적인 사용자 선택 파일 형식이므로 통합 문서를 저장하는 데 거의 사용되지 않습니다. Microsoft Office 2007 이상에서 열 수 있습니다.
XLSB 파일 형식 사양
XLSB 파일 형식에 대한 파일 형식 사양은 2008년 버전 1.0으로 다시 공개되었습니다. 그 이후로 사양이 여러 번 수정되었으며 사양의 최신 버전(v 10.0)이 2018년 4월에 게시되었습니다. 사양은 Microsoft에서 [MS-XLSB] - Excel Binary File Format 사양으로 공개적으로 사용할 수 있습니다. /msdn.microsoft.com/en-us/library/cc313133(v#office.12).aspx) 및 XLSB 파일 형식의 파일을 읽거나 쓰는 경우 누구에게나 문의해야 합니다.
XLSB 파일 구조
XLSB 파일은 부품 모음으로 구성된 패키지입니다. 이러한 부분에는 통합 문서 데이터 및 패키지 구조를 포함하여 통합 문서의 내용에 대한 정보가 포함되어 있습니다. 일부는 이진 레코드를 사용하여 저장된 정보를 포함하고 일부는 XML로, 다른 일부는 이진 바이트 스트림으로 저장된 정보를 포함합니다. 각 이진 레코드에는 통합 문서 데이터가 포함된 0개 이상의 구조화된 필드가 있습니다.
패키지
XLSB 패키지는 정확히 하나의 통합 문서 부분을 포함해야 하는 ZIP 아카이브입니다. 이 부분은 이 패키지 관계 부분에서 관계의 대상이어야 합니다. 통합 문서 부분은 XLSB 문서의 시작 부분입니다.
부분
파트는 파트에 저장된 컨텐츠의 유형과 특성을 지정하는 연관된 컨텐츠 유형이 있는 바이트 스트림입니다. 일부 부분은 정보를 이진 형식으로 저장하고 다른 부분은 정보를 XML로 저장합니다. 사양 문서의 parts enumeration 섹션에는 유효한 부품, 콘텐츠 유형 및 필수/선택 관계가 나열되어 있습니다. 패키지의 모든 부품.
관계
소스와 대상 리소스는 관계로 연결됩니다. 관계는 다음과 같을 수 있습니다.
패키지 관계: 여기서 대상은 일부이고 소스는 전체 패키지입니다.
부품 대 부품 관계: 여기서 대상은 부품이고 소스는 패키지의 부품입니다.
명시적 관계: 관계 요소의 ID 속성 값을 참조하여 소스 부분의 내용에서 리소스를 참조하는 경우
암시적 관계는 명시적이지 않은 관계입니다.
내부 관계: 여기서 대상은 패키지의 일부입니다.
외부 관계: 대상이 패키지에 없는 외부 리소스인 경우
기록
레코드는 통합 문서의 기능에 대한 정보를 저장하는 데 사용되는 기본 빌딩 블록입니다. 각 이진 레코드는 가변 길이 바이트 시퀀스입니다. 이진 레코드는 세 가지 구성 요소로 구성됩니다.
- 레코드 유형
- 레코드 크기 및
- 해당 레코드 유형에 특정한 레코드 데이터.
레코드 유형: 레코드 유형은 레코드에 지정된 레코드 유형을 보여줍니다. 또한 이 레코드에 특정한 레코드 데이터의 구조를 지정합니다. 유효한 레코드 유형은 사양 문서의 Record Enumeration 섹션에 나열되어 있습니다. 레코드 유형은 1바이트 또는 2바이트여야 하며 128보다 크거나 같고 16384보다 작아야 합니다.
레코드 크기: 레코드 크기는 레코드 데이터의 총 크기를 지정하는 바이트 수를 지정합니다. 이 값은 1~4바이트여야 합니다. 하위 바이트의 상위 비트가 0이면 이 값은 1바이트여야 합니다. 그렇지 않으면 이 값은 1바이트보다 커야 합니다(MUST). 바이트 수가 1바이트보다 큰 경우 각 연속 바이트의 상위 비트는 추가 바이트가 사용되는지 여부를 지정합니다. 두 번째 바이트의 상위 비트가 1이면 이 값은 추가 세 번째 바이트를 사용해야 합니다(MUST). 세 번째 바이트의 상위 비트가 1이면 이 값은 추가 네 번째 바이트를 사용해야 합니다(MUST). 네 번째 바이트의 상위 비트는 무시되어야 합니다(MUST). 값은 결합된 각 바이트의 7개 하위 비트로 구성됩니다. 하위의 최하위 비트는 첫 번째 바이트에 포함되며 각 연속 바이트에는 이전 바이트보다 상위 비트가 포함됩니다.
레코드 데이터: 레코드 데이터 구성 요소에는 특정 레코드 유형에 해당하고 레코드의 나머지 부분을 구성하는 필드가 포함됩니다. 레코드 열거에 나열된 지정된 레코드 유형에 대한 필드의 순서와 구조는 레코드의 해당 레코드 유형에 대한 해당 섹션에 지정됩니다. 레코드 데이터 구성요소의 총 크기는 레코드 크기와 같아야 합니다(MUST). 레코드 데이터 구성 요소의 필드에는 단순 값, 값 배열, 여러 필드의 구조, 필드 배열 및 구조 배열이 포함될 수 있습니다.
XLSB 레코드 예
다음 레코드 유형 및 레코드 크기는 200바이트 크기의 BrtCommentText 레코드를 지정합니다.
11111101 00000100 11001000 00000001 [레코드 필드]
첫 번째 바이트는 11111101이며 낮은 값 125를 지정하고 레코드 유형에 두 번째 바이트가 필요합니다. 두 번째 바이트는 00000100으로 512와 동일한 4 * 128의 높은 값을 지정합니다. 레코드 유형 값은 BrtCommentText 레코드 유형에 해당하는 125 + 512 또는 637입니다. 다음 바이트는 11001000으로 낮은 값 72를 지정하고 레코드 크기에 두 번째 바이트가 필요합니다. 두 번째 바이트는 00000001이며 1 * 128의 더 높은 값을 지정하고 레코드 크기에 추가 바이트가 필요하지 않습니다. 레코드 크기는 72 + 128 또는 200이며 레코드 데이터 구성요소의 총 크기(바이트)를 지정합니다. 레코드 데이터 구성 요소의 필드는 BrtCommentText로 지정됩니다.