עבודה עם Core Workbook Settings

עבודה עם 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.HasRepairstrue אם תיקון נעשה
LoadDiagnostics.HasDataLossRisktrue אם נתונים שנעלמו מתוקנים
LoadDiagnostics.Issuesאוסף של DiagnosticEntry אובייקטים
DiagnosticEntry.Codeתיקון קצר קוד string
DiagnosticEntry.SeverityDiagnosticSeverity ערך Enum
DiagnosticEntry.Messageתיאור תיקון אנושי קריא
SaveOptions.UseSharedStringsחבילות נופש בטבלת שורות משותפת
SaveOptions.ValidateBeforeSaveפעל את ההסמכה הפנימית לפני כתיבת המאמר
SaveOptions.CompactStylesלהסיר סגנונות לא בשימוש

ראה גם

 עברית