Detect Merged Cells in a Worksheet
This article provides information on how to get merged cell areas in a worksheet.
Aspose.Cells 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.GetMergedAreas() method which can get all merged cells. The following code sample shows you how to detect merged cells in a worksheet.
// 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); |