Работа с основните настройки на работната книга
Работа с основните настройки на работната книга
Освен мрежата от работни листове, работната книга носи метаданни и конфигурация, които влияят върху това как Excel я тълкува: системата на датите, автора на документа, локализацията и дали се съхранява информация за възстановяване. Workbook клас излага тези чрез Workbook.Settings, Workbook.Properties, и Workbook.LoadDiagnostics.Поведението на спасителите се контролира чрез: SaveOptions.
Настройки на работния лист
Workbook.Settings връща a WorkbookSettings Общ обект. Date1904 в) към true да използвате системата за дата 1904 (обикновена във файловете, произхождащи от macOS Excel). Culture до а CultureInfo Инстанция за контрол на локалното разглеждане на номер и дата.
using Aspose.Cells_FOSS;
using System.Globalization;
var wb = new Workbook();
// Use 1904 date system
wb.Settings.Date1904 = true;
// Set culture for number/date formatting
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings applied");
wb.Save("settings.xlsx");
var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);Свойства на документа
Workbook.Properties връща a WorkbookProperties обект с ориентирани към дисплея знаци като: ShowObjects и в) FilterPrivacy.За авторство и използване на описателни метаданни Workbook.DocumentProperties, което разкрива Title, Subject, Author, Keywords, Comments, Category, Company, и Manager като свойства на директните струни.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var doc = wb.DocumentProperties;
doc.Title = "Quarterly Report";
doc.Subject = "Sales Data";
doc.Author = "Reporting Team";
doc.Company = "Contoso Ltd";
doc.Keywords = "sales, quarterly, 2026";
doc.Comments = "Generated by automated pipeline";
wb.Worksheets[0].Cells["A1"].PutValue("See document properties");
wb.Save("properties.xlsx");
var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);Диагностика на товар
След като заредите работната книга, проверете: Workbook.LoadDiagnostics да разбера дали библиотеката е извършила ремонт. LoadDiagnostics.HasRepairs е в: true ако е извършен поне един конструктивен ремонт. LoadDiagnostics.HasDataLossRisk е в: true ако ремонтът е отхвърлил данни. LoadDiagnostics.Issues за достъп до индивидуални DiagnosticEntry обекти с: Code, Severity, Message, RepairApplied, и DataLossRisk.
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
try
{
var wb = new Workbook("possibly-corrupt.xlsx", opts);
var diag = wb.LoadDiagnostics;
if (diag.HasRepairs)
{
Console.WriteLine("Repairs applied: " + diag.HasRepairs);
Console.WriteLine("Data loss risk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
{
Console.WriteLine($" [{entry.Severity}] {entry.Code}: {entry.Message}");
Console.WriteLine($" RepairApplied={entry.RepairApplied}, DataLossRisk={entry.DataLossRisk}");
}
}
else
{
Console.WriteLine("File loaded cleanly.");
}
}
catch (WorkbookLoadException ex)
{
Console.WriteLine("Unrecoverable: " + ex.Message);
}Запази опции
Workbook.Save(path, SaveOptions) приема да SaveOptions да се възрази срещу персонализирането на изхода за съхранение. UseSharedStrings контролира дали стойностите на реда се съхраняват в споделената таблица от редове ( намалява размера на файла за листове с много повтарящи се редови). ValidateBeforeSave Извършва вътрешно валидиране на работната книга преди записване. CompactStyles премахва неползваните стилове. PreserveRecoveryMetadata контролира дали метаданните за възстановяване на Office са запазени.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 100; i++)
ws.Cells[i, 0].PutValue("Repeated string value");
var opts = new SaveOptions
{
UseSharedStrings = true,
ValidateBeforeSave = true,
CompactStyles = true,
PreserveRecoveryMetadata = false,
};
wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");Съвети и най-добри практики
- Проверка.
LoadDiagnostics.HasDataLossRiskслед зареждане на поправени файлове и предупреждаване на потребителите, ако може да са изчезнали данни. - Настройка
DocumentProperties.Authorи в)Companyза файлове, споделени с крайните потребители те се показват в панела информация за архивите на Excel. UseSharedStrings = trueе полезен за листове с много повтарящи се стойности на редове (напр. колони за състояние); има минимално въздействие върху листата, които съдържат много числа.Date1904трябва да съответстват между източния и целевия файл, за да се избегне отклонение на стойността на дата при копиране на клетки между работните книги.
Общи проблеми
| Издание | Причина за това | Ремонтиране |
|---|---|---|
LoadDiagnostics.Issues е празен след ремонт. | Не е необходим ремонт или TryRepair* не е зададен. | Настройка TryRepairPackage = true и в) TryRepairXml = true в) от LoadOptions |
DocumentProperties.Title не е продължително | Използване на: WorkbookProperties вместо: DocumentProperties | Достъп до метаданните на реда чрез: Workbook.DocumentProperties, не Workbook.Properties |
WorkbookSaveException на запазване | Провал на валидирането с: ValidateBeforeSave = true | Проверете съобщението за изключение; деактивирайте валидирането, за да изолирате лошите данни. |
FAQ
Каква е разликата между: WorkbookProperties и в) DocumentProperties?
WorkbookProperties (чрез Workbook.Properties) съдържа OOXML знаци за показване (напр. ShowObjects). DocumentProperties (чрез Workbook.DocumentProperties) съдържа последователствата на метаданните в стил “Dublin-Core”: заглавие, автор, компания и т.н.
- Да, нали? CompactStyles Да изтрия стилове, които ми трябват?
CompactStyles премахва само стилове, които не са посочени от клетка, условен формат или именуван стил. Използваните стилови форми никога не се отстраняват.
Мога ли да чета? LoadDiagnostics дори когато не се опита да го поправи?
Да, когато не се опитаха да го поправят. Issues колекцията е празна и двете. HasRepairs и в) HasDataLossRisk връщане false.
Снимка на API референтна информация
| Клас / Имущество | Описание на състоянието |
|---|---|
Workbook.Settings | Връщане на средства WorkbookSettings |
WorkbookSettings.Date1904 | Използвайте система за датиране от 1904 г. |
WorkbookSettings.Culture | Локален за анализиране на число/дата |
Workbook.DocumentProperties | Автор, заглавие, метаданни на дружеството |
Workbook.LoadDiagnostics | Доклад за ремонт след натоварване |
LoadDiagnostics.HasRepairs | true ако е бил извършен ремонт; |
LoadDiagnostics.HasDataLossRisk | true ако се поправят изхвърлени данни, |
LoadDiagnostics.Issues | Събиране на DiagnosticEntry обекти |
DiagnosticEntry.Code | Кратък код за ремонт |
DiagnosticEntry.Severity | DiagnosticSeverity стойност на enum |
DiagnosticEntry.Message | Описание на ремонта, което може да бъде прочетено от човека. |
SaveOptions.UseSharedStrings | Съхраняване на нишки в споделена таблица с ниски ниши |
SaveOptions.ValidateBeforeSave | Извършване на вътрешно валидиране преди записване |
SaveOptions.CompactStyles | Да премахнете неисканите стилове |