Detect Merged Cells in a Worksheet
This article provides information on how to get merged cell areas in a worksheet.
Aspose.Cells for Python via .NET allows you to get merged cell areas in a worksheet. You can unmerge (split) them too. This article shows the simplest code using Aspose.Cells API to perform the task.
The component provides the Cells.get_merged_areas() method which can get all merged cells. The following code sample shows you how to detect merged cells in a worksheet.
| from aspose import pycore | |
| from aspose.cells import CellArea, Workbook | |
| # The path to the documents directory. | |
| dataDir = "./" | |
| # Instantiate a new Workbook | |
| # Open an existing excel file | |
| wkBook = Workbook(dataDir + "SampleInput.xlsx") | |
| # Get a worksheet in the workbook | |
| wkSheet = wkBook.worksheets.get("Sheet2") | |
| # Clear its contents | |
| wkSheet.cells.clear() | |
| # Create an arraylist object | |
| al = [] | |
| # Get the merged cells list to put it into the arraylist object | |
| al = wkSheet.cells.merged_cells | |
| # Loop through the arraylist and get each cellarea | |
| # To unmerge it | |
| for i in range(len(al)): | |
| ca = CellArea() | |
| ca = pycore.cast(CellArea, al[i]) | |
| frow = ca.start_row | |
| fcol = ca.start_column | |
| erow = ca.end_row | |
| ecol = ca.end_column | |
| trows = erow - frow + 1 | |
| tcols = ecol - fcol + 1 | |
| wkSheet.cells.un_merge(frow, fcol, trows, tcols) | |
| dataDir = dataDir + "MergeTrial.out.xlsx" | |
| # Save the excel file | |
| wkBook.save(dataDir) |