Core Workbook Settings를 .NET에서 사용하는 방법

Core Workbook Settings를 .NET에서 사용하는 방법

Aspose.Cells FOSS for .NET은(는) 워크북 수준 구성을 Workbook.Settings(로케일 및 날짜 시스템), Workbook.DocumentProperties(작성자 메타데이터), Workbook.LoadDiagnostics(수리 보고서), 그리고 SaveOptions(저장 동작)을 통해 제공합니다. dotnet add package Aspose.Cells_FOSS로 설치하세요.

단계별 가이드

단계 1: 패키지 설치

dotnet add package Aspose.Cells.FOSS

단계 2: 네임스페이스 가져오기

using Aspose.Cells_FOSS;
using System.Globalization;

단계 3: WorkbookSettings 구성

Workbook.Settings은(는) WorkbookSettings 객체를 반환합니다. 1904 날짜 시스템을 사용하는 macOS 기반 파일에 대해 Date1904 = true를 설정하십시오. 숫자 및 날짜 구문 분석 로케일을 제어하려면 Culture를 설정하십시오.

using Aspose.Cells_FOSS;
using System.Globalization;

var wb = new Workbook();
wb.Settings.Date1904 = false;
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings configured");
wb.Save("settings.xlsx");

var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);

단계 4: 문서 속성 설정

Workbook.DocumentProperties은(는) Title, Subject, Author, Keywords, Comments, Category, Company, 및 Manager을 직접 문자열 속성으로 노출합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.DocumentProperties.Title = "Quarterly Report";
wb.DocumentProperties.Author = "Reporting Team";
wb.DocumentProperties.Company = "Contoso Ltd";
wb.DocumentProperties.Keywords = "quarterly, sales, 2026";
wb.Save("properties.xlsx");

var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);

단계 5: SaveOptions 사용

Workbook.Save(path, SaveOptions)은(는) 출력 맞춤화를 위해 SaveOptions 객체를 허용합니다. 주요 속성: UseSharedStrings (반복 문자열이 있는 시트의 파일 크기를 줄임), ValidateBeforeSave (쓰기 전에 검증을 실행), 그리고 CompactStyles (사용되지 않는 스타일을 제거).

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 50; i++)
    ws.Cells[i, 0].PutValue("Repeated text");

var opts = new SaveOptions
{
    UseSharedStrings = true,
    ValidateBeforeSave = true,
    CompactStyles = true,
};

wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");

단계 6: 복구 후 LoadDiagnostics 읽기

TryRepairPackage = true로 로드한 후, 수리가 적용되었는지 확인하려면 Workbook.LoadDiagnostics을 확인하십시오.

using Aspose.Cells_FOSS;

var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
var diag = wb.LoadDiagnostics;

Console.WriteLine("HasRepairs: " + diag.HasRepairs);
Console.WriteLine("HasDataLossRisk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
    Console.WriteLine($"  [{entry.Severity}] {entry.Code}: {entry.Message}");

일반적인 문제 및 해결 방법

WorkbookSaveException when ValidateBeforeSave = true. 워크북에 구조적 불일치가 있습니다. 비활성화 ValidateBeforeSave 일시적으로 비활성화하고 파일을 저장 및 검사한 후, 문제 있는 내용을 수정하십시오.

문서 속성이 Excel의 파일 정보 패널에 표시되지 않습니다. 속성을 설정하는 대상이 Workbook.DocumentProperties, 가 아니라 Workbook.Properties. 후자는 표시 플래그를 보관하며, 메타데이터 문자열이 아닙니다.

Date1904 = true 날짜 값이 이동하게 합니다. Date1904는 날짜 일련 번호에 사용되는 기준 연도를 변경합니다. 반드시 set it to true macOS Excel에서 1904 날짜 시스템이 활성화된 파일의 경우; 시스템을 혼합하면 1462일 차이 오류가 발생합니다.

자주 묻는 질문

WorkbookSettings와 WorkbookProperties의 차이점은 무엇입니까?

WorkbookSettings (via Workbook.Settings)는 Date1904 및 Culture과 같은 구성 값을 보유합니다. WorkbookProperties (via Workbook.Properties)는 ShowObjects과 같은 OOXML 표시 플래그를 보유합니다. 문서 메타데이터 문자열(제목, 저자 등)은 Workbook.DocumentProperties에 존재합니다.

CompactStyles가 제가 필요한 스타일을 제거한 적이 있나요?

아니오. CompactStyles는 워크북의 셀이나 서식 규칙에서 참조되지 않는 스타일만 제거합니다.

수리 시도가 없었을 때도 LoadDiagnostics를 읽을 수 있나요?

예. Issues 컬렉션은 비어 있게 되며 HasRepairs와 HasDataLossRisk는 모두 false를 반환합니다.

참조

 한국어