كشف الأوراق العمل الفارغة

فحص الخلايا المعبأة

يمكن أن تحتوي أوراق العمل على خلية واحدة أو أكثر ممتلئة بقيم حيث تكون القيمة يمكن أن تكون بسيطة (نص، رقم، تاريخ/وقت) أو صيغة أو قيمة تعتمد على صيغة. في مثل هذه الحالة، من السهل الكشف عما إذا كانت ورقة العمل معطاءة أم لا. كل ما علينا فعله هو التحقق من الخصائص Cells.max_data_row أو Cells.max_data_column. إذا كانت الخصائص المذكورة تعيد قيمة صفر أو قيم موجبة فهذا يعني أن هناك خلية أو أكثر تمت ملؤها، ومع ذلك، إذا كانت أي من هذه الخصائص تعيد -1 فهذا يشير إلى أنه لم يتم ملء أيٌ من الخلايا في الورقة المعطاة.

فحص الخلايا المهيأة الفارغة

جميع الخلايا التي تحتوي على قيم يتم تهيئتها تلقائياً، ومع ذلك، هناك احتمال أن تحتوي ورقة العمل على خلايا مقتصرة على التنسيق فقط. في مثل هذا السيناريو، ستُرجع الخاصيتان Cells.max_data_row أو Cells.max_data_column القيمة -1، مما يدل على عدم وجود قيم ممتلئة، لكن لا يمكن اكتشاف الخلايا المهيأة بالتنسيق باستخدام هذه الطريقة. للتحقق مما إذا كانت ورقة العمل تحتوي على خلايا مهيأة فارغة، يُنصح باستخدام طريقة IEnumerator.MoveNext على المُعدّ الدُولي، التي يتم الحصول عليها من مجموعة Cells. إذا أعادت طريقة IEnumerator.MoveNext القيمة true، فهذا يعني وجود خلية أو أكثر مهيأة في ورقة العمل المحددة.

فحص الأشكال

من الممكن ألا تحتوي ورقة العمل المعطاة على أي خلايا ممتلئة، إلا أنها قد تحتوي على أشكال وأشياء مثل عناصر تحكم، رسوم بيانية، صور، وهكذا. إذا أردنا التحقق مما إذا كانت الورقة تحتوي على أي شكل، يمكننا القيام بذلك بفحص عناصر ShapeCollection. تشير أي قيمة إيجابية إلى وجود شكل أو أشكال في الورقة.

نموذج برمجة

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create an instance of Workbook and load an existing spreadsheet
book = Workbook(dataDir + "sample.xlsx")
# Loop over all worksheets in the workbook
for i in range(len(book.worksheets)):
sheet = book.worksheets[i]
# Check if worksheet has populated cells
if sheet.cells.max_data_row != -1:
print(sheet.name + " is not empty because one or more cells are populated")
else:
if len(sheet.shapes) > 0:
print(sheet.name + " is not empty because there are one or more shapes")
else:
range = sheet.cells.max_display_range
rangeIterator = range.get_enumerator()
if rangeIterator.__next__():
print(sheet.name + " is not empty because one or more cells are initialized")