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 | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# 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) |