【问题标题】:How to Delete a Column Programmatically?如何以编程方式删除列?
【发布时间】:2010-08-19 00:00:48
【问题描述】:

如何在 Excel 中删除一列(或多列)?

例如。如何删除C列并将其余的向左移动?

【问题讨论】:

    标签: c# excel excel-interop


    【解决方案1】:

    这是使它更清晰的解决方案(感谢Leniel提供链接)

    Excel.Range range = (Excel.Range)sheet.get_Range("C1", Missing.Value);
    range.EntireColumn.Delete(Missing.Value);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
    

    【讨论】:

    【解决方案2】:

    【讨论】:

    • 一个链接不好...您能否提炼并提供链接参考的答案?
    【解决方案3】:

    这是我点击的第一个结果,删除 Excel 中的列不需要当前答案所建议的那么多代码。事实上(假设你已经有一个Worksheet 对象,下面列为mySheet)原始问题所需要的只是:

    mySheet.Columns["C"].Delete();
    

    如果要删除多个列,则:

    mySheet.Columns["C:D"].Delete();
    

    您可以在Delete 方法中指定一个变量(参见https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.xldeleteshiftdirection?view=excel-pia),即mySheet.Columns["C"].Delete(xlShiftToLeft),但没有必要,因为Delete 方法足够聪明,可以意识到您选择的Range 是一个单一的列,因此会自动执行此操作。

    您还可以使用数值来指定列,即mySheet.Columns[2].Delete()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 2011-02-10
      • 2013-12-22
      • 2011-04-24
      • 1970-01-01
      相关资源
      最近更新 更多