Переименование листов Excel с именами из списка - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь переименовать листы в книге Excel. Кто-нибудь может сказать мне, что мне не хватает или что я делаю не так?

        //Execute Excel
        Excel.Application ex = new Excel.ApplicationClass();
        ex.Visible = true;
        ex.DisplayAlerts = false;
        //Create workbook
        Excel.Workbook wb = ex.Workbooks.Add();
        //Create sheets with names
        List<string> names = new List<string> {"03 SHEET 03","02 SHEET 02","01 SHEET 01"};
        foreach (string name in names) 
        {
            wb.Worksheets.Add().Name = name;
        }

1 Ответ

0 голосов
/ 09 мая 2020

Ваш пример кода работает с небольшой корректировкой. Я только что изменил инициализацию Excel с new Excel.ApplicationClass() на new Excel.Application(). Вот мой полный код:

static void Main()
{
    Microsoft.Office.Interop.Excel.Application ex = new Microsoft.Office.Interop.Excel.Application();
    ex.Visible = true;
    ex.DisplayAlerts = false;
    Microsoft.Office.Interop.Excel.Workbook wb = ex.Workbooks.Add();
    var names = new List<string> { "03 SHEET 03", "02 SHEET 02", "01 SHEET 01" };

    foreach (string name in names)
    {
        wb.Worksheets.Add().Name = name;
    }
}

Конечно, мне пришлось добавить ссылку на библиотеку Microsoft.Office.Interop.Excel. Если у вас есть какие-либо другие проблемы, укажите более подробную информацию об ошибках (компиляция, исключение времени выполнения).

...