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

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

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

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

تتم مهيأة جميع الخلايا التي تحتوي على قيم تلقائيًا، ومع ذلك، هناك احتمال أن تحتوي ورقة العمل على خلايا تم تطبيق التنسيق فقط عليها. في مثل هذا السيناريو، ستعود الخصائص Cells.MaxDataRow أو Cells.MaxDataColumn بالقيمة -1 مشيرة إلى عدم وجود أي قيم معبأة ولكن لا يمكن اكتشاف الخلايا المهيأة الفارغة باستخدام هذا النهج. من أجل التحقق مما إذا كانت ورقة العمل تحتوي على خلايا مهيأة فارغة، يُنصح باستخدام Iterator.hasNext الطريقة على المُنظر الذي تم الحصول عليه من مجموعة الخلايا. إذا عادت طريقة iterator.hasNext بقيمة صحيحة، فإن ذلك يعني وجود مزيد من الخلايا المهيأة في ورقة العمل المعطاة.

فحص الأشكال

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

نموذج برمجة

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(CheckForShapes.class) + "TechnicalArticles/";
// Create an instance of Workbook and load an existing spreadsheet
Workbook workbook = new Workbook(dataDir + "SampleCheckCells.xlsx");
// Loop over all worksheets in the workbook
for (int i = 0; i < workbook.getWorksheets().getCount(); i++) {
Worksheet worksheet = workbook.getWorksheets().get(i);
// Check if worksheet has populated cells
if (worksheet.getCells().getMaxDataRow() != -1) {
System.out.println(worksheet.getName() + " is not empty because one or more cells are populated");
}
// Check if worksheet has shapes
else if (worksheet.getShapes().getCount() > 0) {
System.out.println(worksheet.getName() + " is not empty because there are one or more shapes");
}
// Check if worksheet has empty initialized cells
else {
Range range = worksheet.getCells().getMaxDisplayRange();
Iterator rangeIterator = range.iterator();
if (rangeIterator.hasNext()) {
System.out.println(worksheet.getName() + " is not empty because one or more cells are initialized");
} else {
System.out.println(worksheet.getName() + " is empty");
}
}
}