C# 获取Excel中的合并单元格
C# 获取Excel中的合并单元格
我们在制作表格时,有时经常需要合并及取消合并一些单元格。在取消合并单元格时需要逐个查找及取消,比较麻烦。这里分享一个简单的方法来识别Excel中的合并单元格,识别这些合并单元格之后对这些单元格进行取消合并操作,还可以进行其他操作如设置格式等。
为了展示,这里我使用了一个模板Excel文件,它含有两个合并区域,如下图:
代码使用:
步骤1:实例化一个Workbook对象并加载Excel文档。
Workbook workbook = new Workbook(); workbook.LoadFromFile("测试.xlsx");
步骤2:获取Excel文档的第一个工作表。
Worksheet sheet = workbook.Worksheets[0];
步骤3:获取合并区域并将结果保存到一个CellRange 数组。
CellRange[] range = sheet.MergedCells;
步骤4:遍历数组,将合并区域中的单元格取消合并。
foreach (CellRange cell in range) { cell.UnMerge(); }
步骤5:保存文档。
workbook.SaveToFile("输出.xlsx");
效果图:
完整代码:
using Spire.Xls; namespace Detect_Merged_Cells { class Program { static void Main(string[] args) { Workbook workbook = new Workbook(); workbook.LoadFromFile("测试.xlsx"); Worksheet sheet = workbook.Worksheets[0]; CellRange[] range = sheet.MergedCells; foreach (CellRange cell in range) { cell.UnMerge(); } workbook.SaveToFile("输出.xlsx"); } } }
这里我使用了一个免费版Excel组件,可以看出这个方法很简单,只需要几行代码,感兴趣的朋友可以从NuGet下载:https://www.nuget.org/packages/FreeSpire.XLS/。