العمل مع إدارة Spreadsheet
العمل مع إدارة Spreadsheet
وَالْمُتَّقِينَ 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 من خلال المؤشر للحصول على Row الموضوع : Set Row.Height (في النقاط) للتحكم في ارتفاع الصف. Row.IsHidden إلى true إخفاء الخطوط.الوصول Worksheet.Cells.Columns من خلال المؤشر للحصول على 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()مرة واحدة في نهاية عملية التردد بدلا من بعد كل تغيير. - انضم الخلايا بشكل كبير إلى ورقات البيانات - المناطق المدمجة تمنع تصنيف وتصفية الذات من العمل بشكل صحيح عبر المنطقة المختلطة.
القضايا المشتركة
| مسألة | سبب | تصحيح |
|---|---|---|
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 | إعدادات طباعة layout |
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 | إخفاء / عرض العمود |
Cells.Merge(row, col, numRows, numCols) | انضم إلى كتلة مستقيمة |
Cells.MergedCells | قائمة المناطق المدمجة في الورقة |
LoadOptions.TryRepairPackage | إصلاح ZIP على الحمل |
LoadOptions.TryRepairXml | إصلاح XML على الحمل |
WorkbookLoadException | - التخفيف عندما يكون الملف غير قابل للاسترداد. |