עבודה עם 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.VisibilityType | VisibilityType.Hidden או Visible |
Worksheet.TabColor | צבע חריץ (Color) |
Worksheet.PageSetup | הגדרות ליאוט הדפסה |
PageSetup.Orientation | PageOrientationType.Landscape או Portrait |
PageSetup.PaperSize | PaperSizeType.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 | • נכנס כאשר הקובץ אינו ניתן לשחזר |