Excel Interop Reference - PullRequest
       32

Excel Interop Reference

0 голосов
/ 09 октября 2018

Первый вопрос о переполнении стека здесь.

Итак, я использую Visual Studio 2012 и пытаюсь протестировать несколько функций, написанных на C ++, в отдельном файле.В проекте, над которым я работаю, используется модель MVVM, поэтому основной цикл управления находится в файле C #, который поддерживает пользовательский интерфейс, и я пытаюсь заставить его автоматически записывать некоторые значения в файл Excel.Для начала я просто пытаюсь заставить его записать значение (любое значение) в новый файл Excel, но я застрял на этом:

    private void resultsToExcel()
    {

        Microsoft.Office.Interop.Excel.Application oXL;
        Microsoft.Office.Interop.Excel._Workbook oWB;
        Microsoft.Office.Interop.Excel._Worksheet oSheet;
        Microsoft.Office.Interop.Excel.Range oRng;

        object misvalue = System.Reflection.Missing.Value;

       oXL = new Microsoft.Office.Interop.Excel.Application();
       oXL.Visible = true;
       oXL.UserControl = true;

       oWB = (Microsoft.Office.Interop.Excel._Workbook)(oXL.Workbooks.Add(""));
       oSheet = (Microsoft.Office.Interop.Excel._Worksheet)oXL.Sheets["Sheet1"];

Кажется, все работает нормальнона уровне объекта приложения и на уровне рабочей книги, но когда я начинаю пытаться создать объект, который ведет вниз к листу Excel, я продолжаю получать эту ошибку в последней строке (той, которая относится к новому объекту листа):

(локальная переменная) Excel.Application oXL

Ошибка: невозможно найти один или несколько типов, необходимых для компиляции динамического выражения.Вы пропустили ссылку?

Это как-то сводит меня с ума, потому что, как бы я ни переделывал этот объект листа, я продолжаю получать одну и ту же ошибку.Также проверил в Менеджере ссылок проекта (много ... много раз), чтобы убедиться, что я включил все правильные ссылки на расширения сборки, и я включил Microsoft.Office.Tools, Microsoft.Office.Tools.Excel, Microsoft.Office.Tools.Excel.v4.0.Utilities и Microsoft.Office.Interop.Excel.

Так что я понятия не имею, какая ссылка может отсутствовать.Я подумал, что, возможно, это проблема синтаксиса, но синтаксис, который я использую, соответствует тому, что я нашел в других вопросах переполнения стека в моем обширном исследовании этой проблемы.

Любые предложения будут с благодарностью.Благодарю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...