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

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

Aspose.Cells FOSS for .NET는 워크북 수준 구성을 Workbook.Settings(로케일 및 날짜 시스템), Workbook.DocumentProperties(작성자 메타데이터), Workbook.LoadDiagnostics(복구 보고서), 및 SaveOptions(저장 동작)를 통해 노출합니다. 단일 dotnet add package 명령으로 설치하십시오.

단계별 가이드

1단계: 패키지 설치

dotnet add package Aspose.Cells.FOSS

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

using Aspose.Cells_FOSS;
using System.Globalization;

3단계: WorkbookSettings 구성

Workbook.Settings은(는) WorkbookSettings 객체를 반환합니다. macOS에서 생성된 파일로 1904 날짜 시스템을 사용하는 경우 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는 날짜 일련 번호에 사용되는 기준 연도를 변경합니다. 오직 로만 설정하십시오 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을 반환합니다.

참조

 한국어