XLSX 패키징 작업

XLSX 패키징 작업

Aspose.Cells FOSS for C++는 전용 직렬화 레이어를 통해 .xlsx Open XML 포맷을 읽고 씁니다. XlsxWorkbookSerializer 클래스는 워크시트, 스타일, 정의된 이름, 문서 속성 및 자동 필터를 포함한 모든 워크북 파트를 로드하고 저장하는 작업을 조정합니다.


XLSX 파일 로드 및 저장

모든 로드 및 저장 작업에 Workbook 클래스를 사용하십시오. 내부적으로 XlsxWorkbookSerializer는 Open XML 패키징을 처리합니다:

#include "aspose/cells_foss/Workbook.h"

using namespace Aspose::Cells_FOSS;

int main() {
    // Load existing XLSX
    Workbook workbook("input.xlsx");

    // Modify content...

    // Save back to XLSX
    workbook.Save("output.xlsx");
    return 0;
}

문서 속성

XLSX 파일은 핵심 및 확장 문서 속성(제목, 저자, 생성 날짜)을 포함합니다. 이러한 속성은 XlsxDocumentProperties에 의해 관리되며, XlsxDocumentPropertiesdocProps/core.xmldocProps/app.xml 파트를 생성하고 로드합니다:

Part관리자Contains
docProps/core.xmlXlsxDocumentProperties::BuildCorePropertiesDocument제목, 작성자, 생성일, 수정일
docProps/app.xmlXlsxDocumentProperties::BuildExtendedPropertiesDocument애플리케이션 이름, 버전

워크북 메타데이터 및 설정

통합 문서 수준 메타데이터 — 계산 설정, 책 보기, 및 통합 문서 보호 — 는 XlsxWorkbookProperties에 의해 관리됩니다:

  • BuildWorkbookPropertiesElement — 통합 문서 계산 및 반복 설정을 기록합니다
  • BuildWorkbookProtectionElement — 통합 문서 수준 비밀번호 보호를 기록합니다
  • BuildBookViewsElement — 창 위치 및 활성 시트 설정을 기록합니다

스타일 및 숫자 형식

스타일 파트(xl/styles.xml)는 XlsxWorkbookStyles에 의해 관리됩니다. 이는 메모리 내 모델의 Style 객체를 직렬화된 글꼴, 채우기, 테두리 및 숫자 형식 레코드에 매핑합니다:

  • BuildStylesheet — 모든 스타일을 XML로 직렬화합니다
  • LoadStylesheet — 기존 XLSX 파일에서 스타일을 읽어들입니다
  • StylesEqual — 두 스타일 객체가 동일한 XML을(를) 생성하는지 확인합니다

Auto-Filter 패키징

워크시트당 Auto-filter 상태는 XlsxWorkbookAutoFilter에 의해 직렬화됩니다:

  • BuildAutoFilterElement<autoFilter> XML 요소를 씁니다
  • LoadAutoFilter — 워크시트 파트에서 auto-filter 구성을 읽습니다

정의된 이름

이름이 지정된 범위와 수식은 워크북 파트에 패키징되고 XlsxWorkbookDefinedNames에 의해 로드됩니다:

  • BuildDefinedNames — 모든 DefinedName 항목을 워크북 XML에 씁니다
  • LoadWorkbookDefinedNames — 파일 로드 중 정의된 이름을 읽습니다

팁 및 모범 사례

  • Workbook::Save(fileName)을(를) 단일 종료 지점으로 사용하십시오 — 라이브러리를 확장하는 경우를 제외하고는 직렬화 클래스를 직접 호출하지 마세요.
  • .xlsx 형식은 유일하게 완전 지원되는 형식이며; 다른 형식으로 저장하는 기능은 v0.1에서 제공되지 않습니다.
  • Workbook(filePath) 또는 Save(filePath)에 전달되는 파일 경로는 플랫폼 경로 구분자를 사용해야 하며 작업 디렉터리가 변할 수 있는 환경에서 실행될 때는 완전한 절대 경로여야 합니다.
  • XlsxWorkbookProperties::BuildWorkbookProtectionElement을 통해 적용된 워크북 보호는 Worksheet::Protect을 통해 설정된 워크시트 수준 보호와 독립적입니다.

일반적인 문제

이슈원인수정
파일을 불러올 수 없습니다잘못된 XLSX 파일이거나 암호화된 XLSX파일이 일반(비밀번호 보호되지 않은) XLSX인지 확인하십시오
저장 후 스타일이 사라짐저장 전에 스타일이 적용되지 않음Workbook::Save 전에 Cell::SetStyle(style)를 호출하십시오
라운드트립 후 정의된 이름이 누락됨범위가 잘못된 시트에 설정됨DefinedName::SetFormula를 전체 범위 주소와 함께 사용

API Reference 요약

클래스/메서드설명
Workbook(filePath)XLSX 파일 로드
Workbook::Save(fileName)XLSX 로 저장
XlsxWorkbookSerializer::SaveInternal: 모델을 Open XML 로 직렬화합니다
XlsxWorkbookSerializer::LoadInternal: Open XML 를 모델로 역직렬화합니다
XlsxDocumentProperties핵심 및 확장 문서 속성 패키징
XlsxWorkbookProperties워크북 메타데이터 및 설정 직렬화
XlsxWorkbookStyles스타일 시트 패키징
XlsxWorkbookAutoFilter자동 필터 XML 패키징
XlsxWorkbookDefinedNames정의된 이름 XML 패키징

참조

 한국어