כיצד לעבוד עם הגדרות הליבה של חוברת העבודה ב-.NET

כיצד לעבוד עם הגדרות הליבה של חוברת העבודה ב-.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 לקבצים שמקורם ב-Excel של macOS עם מערכת תאריכים 1904 מופעלת; ערבוב מערכות גורם לשגיאות של 1462 יום.

שאלות נפוצות

מה ההבדל בין WorkbookSettings ל-WorkbookProperties?

WorkbookSettings (דרך Workbook.Settings) מכיל ערכי תצורה כגון Date1904 ו-Culture. WorkbookProperties (דרך Workbook.Properties) מכיל דגלי תצוגה של OOXML כגון ShowObjects. מחרוזות מטה-נתוני המסמך (כותרת, מחבר, וכו׳) נמצאות ב-Workbook.DocumentProperties.

האם CompactStyles מסיר אי-פעם סגנונות שאני צריך?

לא. CompactStyles מסיר רק סגנונות שאינם מצוטטים על ידי אף תא או כלל עיצוב במחברת.

האם אני יכול לקרוא LoadDiagnostics גם כאשר לא בוצע תיקון?

כן. האוסף Issues יהיה ריק ושני HasRepairs ו-HasDataLossRisk יחזירו false.

ראה גם

 עברית