Откройте надстройку Excel в C #

1

Я унаследовал приложение Windows С#, которое создает большую электронную таблицу для отображения пользователю. Улучшение заключается в добавлении существующей надстройки Excel в эту таблицу. Я пытаюсь добавить надстройку, как только электронная таблица будет заполнена в коде следующим образом:

            excelApp.Visible = true;
            // trying to add the Add-in
            string workBookPath = @"C:\AddinIWasGiven.xls";
            Workbook excelWorkbook = excelApp.Workbooks.Open(workBookPath, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);

Всякий раз, когда я это делаю, я получаю эту ошибку: "Невозможно открыть надстройку Microsoft Excel для редактирования. Вместо этого отредактируйте исходный документ". Я не уверен, почему я получаю эту ошибку. Я вижу, что excelWorkbook возвращается как "C:\AddinIWasGiven.xls", но я читал, что это может быть так, как показывает отладчик. Я новичок в надстройках и С#. Любые предложения или помощь будут очень благодарны.

С некоторой помощью, проб и ошибок я обнаружил, что это сработало:

string workBookPath = @"C:\Addin.xla"; Workbook excelWorkbook = excelApp.Workbooks.Open(workBookPath, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", false, false, 0, true, false, false);

  • 0
    Это действительно файл .xls ? Кажется, это надстройка, преобразованная в рабочую книгу. support.microsoft.com/kb/156943/en-us Файлы .xla имели расширение .xla .
  • 0
    Это файл .xls. Мне было интересно, если это было проблемой.
Показать ещё 2 комментария
Теги:
excel
excel-addins
excel-interop

1 ответ

0
Лучший ответ

Файлы .xla должны иметь расширение .xla или .xlam. Задайте Workbook.IsAddin=true, сохранив файл .xls качестве надстройки Excel .xlam

Ещё вопросы

Сообщество Overcoder
Наверх
Меню