Détecter les cellules fusionnées dans une feuille de calcul
Cet article fournit des informations sur la manière d’obtenir les zones de cellules fusionnées dans une feuille de calcul.
Aspose.Cells vous permet d’obtenir les zones de cellules fusionnées dans une feuille de calcul. Vous pouvez également les défusionner (diviser). Cet article montre le code le plus simple en utilisant l’API Aspose.Cells pour accomplir la tâche.
Le composant fournit la méthode Cells.GetMergedAreas() qui peut obtenir toutes les cellules fusionnées. L’exemple de code suivant vous montre comment détecter les cellules fusionnées dans une feuille de calcul.
// 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); | |
// Instantiate a new Workbook | |
// Open an existing excel file | |
Workbook wkBook = new Workbook(dataDir + "SampleInput.xlsx"); | |
// Get a worksheet in the workbook | |
Worksheet wkSheet = wkBook.Worksheets["Sheet2"]; | |
// Clear its contents | |
wkSheet.Cells.Clear(); | |
// Get merged areas | |
CellArea[] areas = wkSheet.Cells.GetMergedAreas(); | |
// Define some variables | |
int frow, fcol, erow, ecol, trows, tcols; | |
// Loop through the arraylist and get each cellarea | |
// To unmerge it | |
for (int i = 0; i < areas.Length; i++) | |
{ | |
frow = areas[i].StartRow; | |
fcol = areas[i].StartColumn; | |
erow = areas[i].EndRow; | |
ecol = areas[i].EndColumn; | |
trows = erow - frow + 1; | |
tcols = ecol - fcol + 1; | |
wkSheet.Cells.UnMerge(frow, fcol, trows, tcols); | |
} | |
dataDir = dataDir + "MergeTrial.out.xlsx"; | |
// Save the excel file | |
wkBook.Save(dataDir); |