Як працювати з основними налаштуваннями книги в .NET
Aspose.Cells FOSS для .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. Встановіть 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 when ValidateBeforeSave = true. Книга містить структурну несумісність. Вимкніть ValidateBeforeSave тимчасово, щоб зберегти та переглянути файл, а потім виправити проблемний вміст.
Властивості документа не видимі у панелі «Інформація про файл» 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.