Boş Çalışsayfası Bulma
Doldurulmuş Hücreleri Kontrol Etme
Çalışma sayfaları bir veya daha fazla hücre değeriyle doldurulabilir ve bir değer basit (metin, sayısal, tarih/saat) veya bir formül veya formül tabanlı bir değer olabilir. Bu durumda, verilen çalışma sayfasının boş olup olmadığını tespit etmek kolaydır. Yapmamız gereken tek şey, Cells.MaxDataRow veya Cells.MaxDataColumn özelliklerini kontrol etmektir. Yukarıdaki özelliklerden herhangi biri sıfır veya pozitif değerler döndürürse, bir veya daha fazla hücre dolmuş demektir, ancak bu özelliklerden herhangi biri -1 döndürürse, verilen çalışma sayfasında hiçbir hücre dolmamış demektir.
Değerleri olan tüm hücreler otomatik olarak başlatılır, ancak bir çalışsayfada yalnızca biçimlendirmesi olan hücrelerin olma olasılığı vardır. Bu durumda, Cells.MaxDataRow veya Cells.MaxDataColumn özellikleri, hücre biçimlendirmesi nedeniyle başlatılmış ancak doldurulmuş değerlerin yokluğunu gösteren -1 değerini döndürecektir. Bir çalışsayfanın boş başlatılmış hücreler içerip içermediğini kontrol etmek için, Cells koleksiyonundan alınan bir yineç üzerinde Iterator.hasNext metodu kullanılması önerilir. iterator.hasNext metodu true döndürürse, bu durum verilen çalışsayfada bir veya daha fazla başlatılmış hücre bulunduğunu gösterir.
Değerleri olan tüm hücreler otomatik olarak başlatılır, ancak bir çalışma sayfasının yalnızca biçimlendirmesi uygulanan hücreleri olabilir. Bu senaryoda, Cells.MaxDataRow veya Cells.MaxDataColumn özellikleri, başlatılmış hücrelerin yokluğunu gösteren -1 değerini döndürecektir, ancak bu yaklaşım kullanılarak başlatılmış boş hücrelerin algılanamayacağını gösterir. Bir çalışma sayfasının boş başlatılmış hücrelere sahip olup olmadığını kontrol etmek için Cells koleksiyonundan alınan numaralandırıcı üzerinde IEnumerator.MoveNext yöntemini kullanmanız önerilir. IEnumerator.MoveNext yöntemi true döndürürse, verilen çalışma sayfasında bir veya daha fazla başlatılmış hücre olduğu anlamına gelir.
Şekilleri Kontrol Etme
Verilen bir çalışma sayfasının doldurulmuş hücreleri olmayabilir, ancak denetimler, grafikler, resimler vb. gibi şekiller ve nesneler içerebilir. Bir çalışma sayfasının herhangi bir şekil içerip içermediğini kontrol etmemiz gerekiyorsa, ShapeCollection.Count özelliğini inceleyerek yapabiliriz. Herhangi bir pozitif değer, çalışma sayfasında şekil(l)in varlığını gösterir.
Programlama Örneği
// 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"); | |
} | |
} | |
} |