Как добавить новый столбец в начале рабочего листа в существующий Excel с помощью взаимодействия Microsoft - PullRequest
2 голосов
/ 13 сентября 2010

У меня Excel с 8 столбцами. Я пытаюсь добавить новый столбец в начале листа. Существующие столбцы должны сместиться.

Ниже приведен код, который я пробовал:

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

            _sheet.Select(Type.Missing);

            _sheet.Columns.Insert(1, 1);

Но я получаю следующую ошибку:

Чтобы предотвратить возможную потерю данных, Excel не может сдвинуть непустые ячейки с листа. Выберите другое место для вставки новых ячеек или удалите данные с конца вашей таблицы. Если у вас нет данных в ячейках, которые можно сместить с рабочего листа, вы можете сбросить, какие ячейки Excel считает непустыми. Чтобы сделать это, нажмите CTRL + End, чтобы найти последнюю непустую ячейку на листе. Удалите эту ячейку и все ячейки между ней и последней строкой и столбцом ваших данных, затем сохраните.

Ответы [ 2 ]

2 голосов
/ 18 сентября 2010

Измените свой оператор вставки на

((Range) workSheet.Columns[1]).Select();
((Range) workSheet.Columns[1]).Insert(XlInsertShiftDirection.xlShiftToRight,
                                            XlInsertFormatOrigin.xlFormatFromLeftOrAbove);
1 голос
/ 03 декабря 2010

Следующий код работал для меня ...

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);
...