C# 如何使用c检查excel工作表是否合并了单元格#

C# 如何使用c检查excel工作表是否合并了单元格#,c#,.net-3.5,C#,.net 3.5,我想检查使用c的excel工作表是否合并了单元格我搜索并找到了许多方法来讨论如何合并或未合并单元格,或者检查是否有单元格在工作表的固定范围内,比如[a1:100]我真正想要的是 检查所有工作表和所有excel文件中的所有单元格或至少我正在工作的工作表中是否有任何合并单元格 感谢您在高级中提供的帮助,您可能对使用以下方法感兴趣 函数CountMerged(pWorkRng作为范围)的长度 'Updateby20140307 变暗rng As范围 总长度 Set dt=CreateObject(“S

我想检查使用
c
的excel工作表是否合并了单元格我搜索并找到了许多方法来讨论如何合并或未合并单元格,或者检查是否有单元格在工作表的固定范围内,比如
[a1:100]
我真正想要的是

检查所有工作表和所有excel文件中的所有单元格或至少我正在工作的工作表中是否有任何合并单元格


感谢您在高级

中提供的帮助,您可能对使用以下方法感兴趣

函数CountMerged(pWorkRng作为范围)的长度
'Updateby20140307
变暗rng As范围
总长度
Set dt=CreateObject(“Scripting.Dictionary”)
对于pWorkRng中的每个rng
如果rng.MergeCells那么
TempAddress=rng.MergeArea.Address
dt(临时地址)=“”
如果结束
下一个
CountMerged=dt.Count
端函数
资料来源:


希望这能对你有所帮助。下面的方法会对你有所帮助,在c#中:

上述解决方案基于第三方库-Spire.XLS(您可以从nuget获得它,注意我为Spire工作)。有关详细信息,请查看此链接:

关于使用字典来解决这个问题的有趣想法。我喜欢。
using Spire.Xls;

namespace Detect_Merged_Cells
{
    class Program
    {
        static void Main(string[] args)
        {
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("Sample.xlsx");
            Worksheet sheet = workbook.Worksheets[0];

            CellRange[] range = sheet.MergedCells;
            foreach (CellRange cell in range)
            {
                cell.UnMerge();
            }
            workbook.SaveToFile("Output.xlsx",ExcelVersion.Version2010);
        }
    }
}