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에 의해 관리되며, XlsxDocumentProperties는 docProps/core.xml 및 docProps/app.xml 파트를 생성하고 로드합니다:
| Part | 관리자 | Contains |
|---|---|---|
docProps/core.xml | XlsxDocumentProperties::BuildCorePropertiesDocument | 제목, 작성자, 생성일, 수정일 |
docProps/app.xml | XlsxDocumentProperties::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::Save | Internal: 모델을 Open XML 로 직렬화합니다 |
XlsxWorkbookSerializer::Load | Internal: Open XML 를 모델로 역직렬화합니다 |
XlsxDocumentProperties | 핵심 및 확장 문서 속성 패키징 |
XlsxWorkbookProperties | 워크북 메타데이터 및 설정 직렬화 |
XlsxWorkbookStyles | 스타일 시트 패키징 |
XlsxWorkbookAutoFilter | 자동 필터 XML 패키징 |
XlsxWorkbookDefinedNames | 정의된 이름 XML 패키징 |