How to Delete a Column Programmatically?

后端 未结 3 1601
不思量自难忘°
不思量自难忘° 2021-01-04 20:27

How does one delete a column (or multiple columns) in Excel?

eg. How to delete column C and shift the rest left?

相关标签:
3条回答
  • 2021-01-04 20:59

    This was the first result I hit and deleting a column in Excel doesn't need as much code as the current answers suggest. In fact (assuming you have a Worksheet object already, listed below as mySheet) all that is needed for the original question is:

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

    If you want to delete multiple columns then:

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

    You can specify a variable in the Delete method (see https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.xldeleteshiftdirection?view=excel-pia) i.e. mySheet.Columns["C"].Delete(xlShiftToLeft)but there's no need as the Delete method is smart enough to realise that the Range you are selecting is a single column, so will do this automatically.

    You can also uses a numeric value to designate the column i.e. mySheet.Columns[2].Delete()

    0 讨论(0)
  • 2021-01-04 21:08

    Here you find how to do it:

    http://bytes.com/topic/c-sharp/answers/258110-how-do-you-delete-excel-column

    http://quicktestprofessional.wordpress.com/2008/02/14/delete-columns-from-xl-sheet/

    0 讨论(0)
  • 2021-01-04 21:18

    Here is the solution to make it clearer (thanks to Leniel for the link)

    Excel.Range range = (Excel.Range)sheet.get_Range("C1", Missing.Value);
    range.EntireColumn.Delete(Missing.Value);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
    
    0 讨论(0)
提交回复
热议问题