עבודה עם Core Workbook Settings
עבודה עם Core Workbook Settings
מעבר לרשת לוח העבודה, ספר עבודה נושא נתונים מטא-דאו והגדרה המשפיעה על האופן שבו Excel מתאר אותה: מערכת התאריך, מחבר המסמך, מקומי, ואם מידע ההחזרה מאוחסן. Workbook המעמד הזה מפרט את זה דרך Workbook.Settings, Workbook.Properties, ו Workbook.LoadDiagnostics.התנהגות ההצלה נשלטת באמצעות SaveOptions.
ספרי עבודה Settings
Workbook.Settings חוזר א WorkbookSettings אובייקט - Set Date1904 ל true כדי להשתמש במערכת הימים 1904 (נפוץ בקבצים המקור של macOS Excel). Culture עד A 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 חוזר א 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) מקבלת A SaveOptions התנגדות להגדלת ההצלה. UseSharedStrings בקרה אם ערכי שורת מאוחסנים בטבלת שורות משותפת (מוריד את גודל הקובץ עבור דפים עם שורה חוזרת רבה). ValidateBeforeSave הוא פועל על ידי אימות ספר עבודה פנימי לפני הכתיבה. CompactStyles להסיר סגנונות לא בשימוש. PreserveRecoveryMetadata בדוק אם נתוני Office Recovery נשמרים.
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) מחזיק את שורות הנתונים המתא-סגנון דבלין-קור: שם, סופר, חברה וכו ‘.
האם CompactStyles הורד את הסגנונות שאני צריך?
CompactStyles הוא מוריד רק סגנונות שאינם מוזכרים על ידי כל תאים, פורמט תנאי או סגנון שנקרא.
אני יכול לקרוא LoadDiagnostics גם אם לא ניסו לתקן.?
אם לא ניסינו לתקן את Issues המגוון ריק ושניהם HasRepairs ו HasDataLossRisk חזרה false.
סיכום התייחסות API
| רכוש / Property | תיאור |
|---|---|
Workbook.Settings | חזרה WorkbookSettings |
WorkbookSettings.Date1904 | מערכת הימים 1904 |
WorkbookSettings.Culture | מקום למספר / תאריך פריסה |
Workbook.DocumentProperties | שם המחבר, כותרת, נתונים של החברה |
Workbook.LoadDiagnostics | דוח תיקון אחרי העומס |
LoadDiagnostics.HasRepairs | true אם תיקון נעשה |
LoadDiagnostics.HasDataLossRisk | true אם נתונים שנעלמו מתוקנים |
LoadDiagnostics.Issues | אוסף של DiagnosticEntry אובייקטים |
DiagnosticEntry.Code | תיקון קצר קוד string |
DiagnosticEntry.Severity | DiagnosticSeverity ערך Enum |
DiagnosticEntry.Message | תיאור תיקון אנושי קריא |
SaveOptions.UseSharedStrings | חבילות נופש בטבלת שורות משותפת |
SaveOptions.ValidateBeforeSave | פעל את ההסמכה הפנימית לפני כתיבת המאמר |
SaveOptions.CompactStyles | להסיר סגנונות לא בשימוש |