كشف الأوراق العمل الفارغة
فحص الخلايا المعبأة
يمكن أن تحتوي أوراق العمل على خلية واحدة أو أكثر ممتلئة بقيم حيث تكون القيمة يمكن أن تكون بسيطة (نص، رقم، تاريخ/وقت) أو صيغة أو قيمة تعتمد على صيغة. في مثل هذه الحالة، من السهل الكشف عما إذا كانت ورقة العمل معطاءة أم لا. كل ما علينا فعله هو التحقق من الخصائص Cells.MaxDataRow أو Cells.MaxDataColumn. إذا كانت الخصائص المذكورة تعيد قيمة صفر أو قيم موجبة فهذا يعني أن هناك خلية أو أكثر تمت ملؤها، ومع ذلك، إذا كانت أي من هذه الخصائص تعيد -1 فهذا يشير إلى أنه لم يتم ملء أيٌ من الخلايا في الورقة المعطاة.
فحص الخلايا المهيأة الفارغة
جميع الخلايا التي تحتوي على قيم تهيأ تلقائياً، ومع ذلك، هناك إمكانية أن يكون هناك ورقة عمل تحتوي على خلايا يتم تهيئتها فقط بالتنسيق. في مثل هذا السيناريو، ستعيد الخصائص Cells.MaxDataRow أو Cells.MaxDataColumn قيمة -1 مشيرة إلى عدم وجود أي قيم معطاة ولكن تحتوي الخلايا التي تم تهيئتها على تنسيق ولا يمكن الكشف عنها باستخدام هذا النهج. من أجل التحقق مما إذا كانت ورقة العمل تحتوي على خلايا مهيأة فارغة، يُنصح باستخدام طريقة IEnumerator.MoveNext على المُعالج المُستدعى من مجموعة Cells. إذا قامت طريقة IEnumerator.MoveNext بإعادة true فهذا يعني وجود خلية مهيأة واحدة أو أكثر في الورقة العمل المعطاة.
فحص الأشكال
قد لا تحتوي ورقة العمل المعطاة على خلايا معماء، ولكن قد تحتوي على أشكال وأجسام مثل عناصر التحكم، الرسوم البيانية، الصور وما إلى ذلك. إذا كنا بحاجة للتحقق مما إذا كانت ورقة العمل تحتوي على أي شكل، فيمكننا القيام بذلك عن طريق تفحص الخاصية ShapeCollection.Count. أي قيمة موجبة تدل على وجود شكل/أشكال في ورقة العمل.
نموذج برمجة
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create an instance of Workbook and load an existing spreadsheet | |
var book = new Workbook(dataDir + "sample.xlsx"); | |
// Loop over all worksheets in the workbook | |
for (int i = 0; i < book.Worksheets.Count; i++) | |
{ | |
Worksheet sheet = book.Worksheets[i]; | |
// Check if worksheet has populated cells | |
if (sheet.Cells.MaxDataRow != -1) | |
{ | |
Console.WriteLine(sheet.Name + " is not empty because one or more cells are populated"); | |
} | |
// Check if worksheet has shapes | |
else if (sheet.Shapes.Count > 0) | |
{ | |
Console.WriteLine(sheet.Name + " is not empty because there are one or more shapes"); | |
} | |
// Check if worksheet has empty initialized cells | |
else | |
{ | |
Aspose.Cells.Range range = sheet.Cells.MaxDisplayRange; | |
var rangeIterator = range.GetEnumerator(); | |
if (rangeIterator.MoveNext()) | |
{ | |
Console.WriteLine(sheet.Name + " is not empty because one or more cells are initialized"); | |
} | |
} | |
} |