【问题标题】:How to add new column at the beginning of worksheet to an existing excel using microsoft interop如何使用微软互操作将工作表开头的新列添加到现有 excel
【发布时间】:2011-04-11 12:57:56
【问题描述】:

我有一个 8 列的 Excel。我正在尝试在工作表的开头添加一个新列。现有的列应该移动。

下面是我试过的代码:

            OpenExcelWorkbook(@"d:\TLC\TLC3.xlsx");
            _sheet = (Excel.Worksheet)_sheets[1];

            _sheet.Select(Type.Missing);

            _sheet.Columns.Insert(1, 1);

但我收到以下错误:

为防止可能的数据丢失,Excel 无法将非空白单元格移出工作表。选择另一个位置以插入新单元格,或从工作表末尾删除数据。如果单元格中没有可移出工作表的数据,则可以重置 Excel 认为哪些单元格为非空白​​单元格。为此,请按 CTRL+End 以定位工作表上的最后一个非空白单元格。删除此单元格及其与数据的最后一行和最后一列之间的所有单元格,然后保存。

【问题讨论】:

    标签: .net excel office-interop


    【解决方案1】:

    将插入语句更改为

    ((Range) workSheet.Columns[1]).Select();
    ((Range) workSheet.Columns[1]).Insert(XlInsertShiftDirection.xlShiftToRight,
                                                XlInsertFormatOrigin.xlFormatFromLeftOrAbove);
    

    【讨论】:

      【解决方案2】:

      以下代码对我有用...

      OpenExcelWorkbook(FileUpload1.PostedFile.FileName);
      
      _sheet = (Excel.Worksheet)_sheets[1];
      
      _sheet.Select(Type.Missing);
      
      //Insert a column
      _sheet.get_Range("A1", "A500").Insert(Type.Missing, Type.Missing);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多