עבודה עם Spreadsheet Management

עבודה עם Spreadsheet Management

עבודה עם Spreadsheet Management

The Workbook מועדון הוא האובייקט השורש עבור כל הפעולות של לוח הפסח ב- Aspose.Cells FOSS for .NET. WorksheetCollection,מדריך זה מכסה את הטעינה סובלנית שגיאות, ארגון לוח העבודה, הגדרת הדפסה-הגדרה, ואת בקרת סדר / עמוד / תאים.


מחזורי עבודה עם אפשרויות תיקון

עבר מסלול קובץ אל Workbook יצרן להעלות קובץ XLSX קיימת. LoadOptions אובייקט עם TryRepairPackage ו TryRepairXml סתור ל true ניסיון לשחזר קבצים עם שחיתות מבנית קטנה.א WorkbookLoadException הוא נזרק כאשר הקובץ אינו ניתן לשחזר.

using Aspose.Cells_FOSS;

var options = new LoadOptions
{
    TryRepairPackage = true,
    TryRepairXml = true,
};

try
{
    var wb = new Workbook("data.xlsx", options);
    Console.WriteLine("Sheets: " + wb.Worksheets.Count);
    Console.WriteLine("Cell A1: " + wb.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Unrecoverable: " + ex.Message);
}

הוספת וארגון של לוח עבודה

Workbook.Worksheets חוזר א WorksheetCollection.צלצול Add(name) כדי להוסיף לוח עבודה חדש על פי שם; השיטה מחזירה את האינדקס של הדף החדש. WorksheetCollection.ActiveSheetName כדי לבדוק איזה תבנית פעילה כאשר הקובץ נפתח.

using Aspose.Cells_FOSS;

var wb = new Workbook();

// Rename the default sheet
wb.Worksheets[0].Name = "Summary";

// Add sheets
var dataIdx = wb.Worksheets.Add("Data");
var archiveIdx = wb.Worksheets.Add("Archive");

// Set active sheet
wb.Worksheets.ActiveSheetName = "Data";

// Write to sheets by name
wb.Worksheets["Summary"].Cells["A1"].PutValue("Overview total");
wb.Worksheets["Data"].Cells["A1"].PutValue("Raw rows start here");

wb.Save("organised.xlsx");

// Verify
var loaded = new Workbook("organised.xlsx");
Console.WriteLine("Active: " + loaded.Worksheets.ActiveSheetName);
Console.WriteLine("Sheet count: " + loaded.Worksheets.Count);

להסתיר ולהציג את הדפים

סדנה Worksheet.VisibilityType ל VisibilityType.Hidden כדי להסתיר את הדף ללא הסרתו.דפים מוסתרים נשמרים בקובץ XLSX וניתן להפוך אותם גלויים על ידי הגדרה VisibilityType.Visible.צבע ה-Tab מוגדר באמצעות Worksheet.TabColor.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Visible";
var hiddenIdx = wb.Worksheets.Add("Internal");
var hiddenSheet = wb.Worksheets[hiddenIdx];

hiddenSheet.VisibilityType = VisibilityType.Hidden;
hiddenSheet.Cells["A1"].PutValue("Internal data");

wb.Worksheets["Visible"].TabColor = Color.FromArgb(255, 70, 130, 180);

wb.Save("hidden.xlsx");

הגדרת דף Setup

Worksheet.PageSetup כל התכונות הקשורות להדפסה.שימוש PageOrientationType כדי לעבור בין ציור וטריטוריה. PaperSizeType כדי לבחור את גודל הדפסה.הגדרת אזור הדפיסה עם PrintArea, הקמת שורות / עמודים חוזרים עם PrintTitleRows/PrintTitleColumns, ולהוסיף פריצות דף ידנית עם AddHorizontalPageBreak ו AddVerticalPageBreak.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Sample data
for (var r = 0; r < 60; r++)
    ws.Cells[r, 0].PutValue("Row " + (r + 1));

var ps = ws.PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.LeftMarginInch = 0.5d;
ps.RightMarginInch = 0.5d;
ps.TopMarginInch = 0.75d;
ps.BottomMarginInch = 0.75d;
ps.PrintArea = "$A$1:$H$60";
ps.PrintTitleRows = "$1:$1";
ps.CenterHeader = "Sales Report";
ps.LeftFooter = "Confidential";
ps.RightFooter = "Page &P of &N";
ps.PrintGridlines = true;
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(30);

wb.Save("paged.xlsx");

var loaded = new Workbook("paged.xlsx");
Console.WriteLine("Orientation: " + loaded.Worksheets[0].PageSetup.Orientation);
Console.WriteLine("Print area: " + loaded.Worksheets[0].PageSetup.PrintArea);

שורה ועמודה גודל

גישה Worksheet.Cells.Rows על ידי אינדיקטור כדי לקבל A Row אובייקט - Set Row.Height (בנקודות) כדי לשלוט על גובה שורה. Row.IsHidden ל true להסתיר את השורה.גישה Worksheet.Cells.Columns על ידי אינדיקטור כדי לקבל A Column אובייקט - Set Column.Width (בחיבורים של יחידות) ו Column.IsHidden.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Populate data
for (var r = 0; r < 5; r++)
    for (var c = 0; c < 4; c++)
        ws.Cells[r, c].PutValue($"R{r + 1}C{c + 1}");

// Row height and visibility
ws.Cells.Rows[0].Height = 28d;   // Header taller
ws.Cells.Rows[3].IsHidden = true; // Hide row 4

// Column width and visibility
ws.Cells.Columns[0].Width = 22d;
ws.Cells.Columns[3].IsHidden = true;

wb.Save("layout.xlsx");

var loaded = new Workbook("layout.xlsx");
Console.WriteLine("Row 0 height: " + loaded.Worksheets[0].Cells.Rows[0].Height);
Console.WriteLine("Col 0 width: " + loaded.Worksheets[0].Cells.Columns[0].Width);

תאים מתמזגים

שיחת טלפון Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) כדי לשלב בלוק ישר קצה לתוך תא יחיד.התא המשותפת מורשת את הערך של התא השמאלית העליונה. Worksheet.Cells.MergedCells כדי לקרוא מחדש את כל אזורים משולבים בספר עבודה מעובד.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Title spanning A1:D1
ws.Cells["A1"].PutValue("Quarterly Sales Report");
ws.Cells.Merge(0, 0, 1, 4);

// Section header spanning A3:D3
ws.Cells["A3"].PutValue("Region: North");
ws.Cells.Merge(2, 0, 1, 4);

// Column headers
ws.Cells["A4"].PutValue("Product"); ws.Cells["B4"].PutValue("Q1");
ws.Cells["C4"].PutValue("Q2");      ws.Cells["D4"].PutValue("Q3");

wb.Save("report.xlsx");

var loaded = new Workbook("report.xlsx");
Console.WriteLine("Merged regions: " + loaded.Worksheets[0].Cells.MergedCells.Count);

טיפים ושיטות טובות

  • שימוש WorksheetCollection.ActiveSheetName כדי לוודא כי התפריט הנכון נבחן כאשר הקובץ פותח ב- Excel.
  • הגדרת מפרקים בצדדים (LeftMarginInch, TopMarginInchאלה הם ערכים של נקודות זורמים, לא שלמות.
  • תגיות קשורות שורת (IsHidden = true• שמירה על הנתונים שלהם; הסרת שורה מוחקת נתונים באופן קבוע.
  • תמיד צלצל Workbook.Save() פעם אחת בסוף הפעולה של המשלוח ולא אחרי כל שינוי.
  • שילוב של תאים באופן חסכוני בנתונים - אזורים שבורים למנוע סיווג ו- auto-filter לעבוד כראוי ברחבי האזור השולב.

בעיות נפוצות

נושאסיבהקבע
WorkbookLoadException על הלחץשבר את ZIP או XML ב- XLSXסדנה LoadOptions.TryRepairPackage = true ו TryRepairXml = true
Add(name) החזרה של אינדיקטור שגוישימוש בשם הדף כאינדקסAdd() להחזיר אינדיקטור int; להשתמש באינדקס זה כדי לגשת לדיסק חדש
גובה הגלגל לא נמשךגובה שנקבע ל- 0 או ערך שלילייש להוסיף ערך כפול חיובי, כמו: 28d
תאים שבורים מראים ערך לא נכוןערך שנכתב לתוך תא שאינו העליון-שמאל של טווח השילובכתוב את הערך לתא השמאלית העליונה לפני התקשר Cells.Merge()
דף הפסקה לא מופיעAddHorizontalPageBreak קוראים אחרי Save()הגדרת פריצות דף לפני שיחת טלפון Save()

FAQ

כמה עותקים אני יכול להוסיף?

פורמט XLSX תומך עד 1024 עמודים לכל ספר עבודה.גבולות מעשיים תלויים בזיכרון זמין וגודל הקובץ.

האם אני יכול להעתיק לוח עבודה בין ספרים?

משטח ה- API הנוכחי אינו מתגלה על ידי CopyTo שיטת העתקה של לוח העבודה בין-עבודה.העלאת שני הקבצים והעברת נתונים תא לפי תא.

איך אני מחדש את לוח העבודה?

שימוש WorksheetCollection גישה אינדיקטור ושינוי שמות של לוחות כדי לשנות את הסדר הלוגי שלהם.התנועה המיוחדת של מיקום אינה נמצאת על פני השטח הנוכחי של API.

איזה יחידות לעשות PageSetup האם להשתמש במגוון?

כל התכונות (LeftMarginInch, TopMarginInch,(ב) יש להוסיף כמות של אינץ ‘כמו double ערכים .

האם Cells.Merge להחליף נתונים סלולריים קיימים?

הערך של התא השמאלית העליונה נשמר; ערכים בתאים המתמזגים האחרים ניתנים לתיקון.


סיכום התייחסות API

שיעור / שיטהתיאור
Workbookאובייקט שורש – יצירת, טעינה, שמירה על ספרים עבודה
Workbook.Worksheetsחוזרים ל WorksheetCollection
Workbook.Save(path)ספר עבודה נמשך ל- XLSX
WorksheetCollection.Add(name)הוספת לוח עבודה חדש לפי שם
WorksheetCollection.ActiveSheetNameפתיחת קובץ הפתוח
Worksheet.VisibilityTypeVisibilityType.Hidden או Visible
Worksheet.TabColorצבע חריץ (Color)
Worksheet.PageSetupהגדרות ליאוט הדפסה
PageSetup.OrientationPageOrientationType.Landscape או Portrait
PageSetup.PaperSizePaperSizeType.PaperA4,וכן הלאה.
PageSetup.AddHorizontalPageBreak(row)להדפיס את הפריצה האורגנית של הדף
Cells.Rows[index].Heightגובה הגלגל בנקודות
Cells.Rows[index].IsHiddenסדרה / Show Rue
Cells.Columns[index].Widthאורך עמודים ב יחידות דמויות
Cells.Columns[index].IsHiddenסמל / Show Column
Cells.Merge(row, col, numRows, numCols)להוסיף בלוק ישר
Cells.MergedCellsרשימת אזורים מעורבים בדף
LoadOptions.TryRepairPackageניסיון לתקן את ZIP על משאבים
LoadOptions.TryRepairXmlניסיון תיקון XML על העומס
WorkbookLoadException• נכנס כאשר הקובץ אינו ניתן לשחזר

ראה גם

 עברית