كشف أوراق العمل الفارغة
تحقق من وجود Cells بالسكان
يمكن أن تحتوي أوراق العمل على خلية واحدة أو أكثر مليئة بالقيم حيث يمكن أن تكون القيمة بسيطة (نصية أو رقمية أو تاريخ / وقت) أو صيغة أو قيمة قائمة على صيغة. في مثل هذه الحالة ، من السهل اكتشاف ما إذا كانت ورقة عمل معينة فارغة أم لا. كل ما علينا التحقق منه هوCells.MaxDataRow أوCells.MaxDataColumnالخصائص. إذا كانت الخصائص المذكورة أعلاه ترجع صفرًا أو قيمًا موجبة ، فهذا يعني أنه تم ملء خلية واحدة أو أكثر ، ومع ذلك ، إذا أرجع أي من هذه الخصائص -1 ، فهذا يشير إلى أنه لم يتم ملء أي خلية في ورقة العمل المحددة.
تحقق من وجود فارغ مهيأ Cells
تتم تهيئة جميع الخلايا التي تحتوي على قيم تلقائيًا ، ومع ذلك ، هناك احتمال أن تحتوي ورقة العمل على خلايا مع تطبيق التنسيق فقط. في مثل هذا السيناريو ، فإنCells.MaxDataRow أوCells.MaxDataColumnستعيد الخصائص -1 مما يشير إلى عدم وجود أي قيم مملوءة ولكن لا يمكن اكتشاف الخلايا المهيأة بسبب تنسيق الخلية باستخدام هذا الأسلوب. من أجل التحقق مما إذا كانت ورقة العمل تحتوي على خلايا مهيأة فارغة ، يُنصح باستخدام ملحقالتكرار الطريقة على المكرر التي تم الحصول عليها من مجموعة Cells. إذا كانمكررطريقة إرجاع صحيحة ، فهذا يعني أن هناك خلية واحدة أو أكثر تمت تهيئتها في ورقة العمل المحددة.
تحقق من وجود الأشكال
من المحتمل ألا تحتوي ورقة العمل المحددة على أي خلايا مأهولة ، ومع ذلك ، يمكن أن تحتوي على أشكال وكائنات مثل عناصر التحكم والمخططات والصور وما إلى ذلك. إذا احتجنا إلى التحقق مما إذا كانت ورقة العمل تحتوي على أي شكل ، فيمكننا القيام بذلك عن طريق فحص ملفShapeCollection.Countخاصية. تشير أي قيمة موجبة إلى وجود شكل (أشكال) في ورقة العمل.
عينة البرمجة
// 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"); | |
} | |
} | |
} |