Как да работим с основните настройки на работната книга в .NET
Aspose.Cells FOSS за .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. Задайте Date1904 = true за файлове, произхождащи от macOS, които използват 1904‑годишната система за дати. Задайте 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 когато ValidateBeforeSave = true.
Работната книга съдържа структурно несъответствие. Деактивирайте ValidateBeforeSave временно, за да запазите и прегледате файла, след което поправете проблемното съдържание.
Свойствата на документа не се виждат в панела „File Info“ на Excel.
Уверете се, че задавате свойства на Workbook.DocumentProperties, а не на Workbook.Properties. Последният съдържа флагове за показване, а не низове с метаданни.
Date1904 = true причинява изместване на стойностите на датите.
Date1904 променя епохата, използвана за сериен номер на датите. Задавайте я на true само за файлове, произхождащи от macOS Excel с активирана 1904‑те дата система; смесването на системи води до грешки от 1462 дни.
Често задавани въпроси
Каква е разликата между WorkbookSettings и WorkbookProperties?
WorkbookSettings (чрез Workbook.Settings) съдържа конфигурационни стойности като Date1904 и Culture. WorkbookProperties (чрез Workbook.Properties) съдържа флагове за показване на OOXML, като ShowObjects. Стринговете за метаданни на документа (Title, Author и др.) се намират в Workbook.DocumentProperties.
Дали CompactStyles някога премахва стиловете, от които се нуждая?
Не. CompactStyles премахва само стилове, които не са реферирани от нито една клетка или правило за форматиране в работната книга.
Мога ли да прочета LoadDiagnostics дори когато не е извършена поправка?
Да. Колекцията Issues ще бъде празна и както HasRepairs, така и HasDataLossRisk ще върнат false.