.NET 4.x Дубликат типов при работе с Excel документом - C#
Формулировка задачи:
Привет. Помогите пожалуйста понять что я делаю не так?
Имеем следующее:
Теперь в дебеге я вижу, что F имеет тип System.__ComObject. Я могу открыть "Динамическое представление" и увидеть всю нужную информацию. Однако стоит мне обратиться, скажем, командой F.Value, я получаю ошибку:
Окей. Допустим я попробую использовать приведение типов: (Excel.Range)F.Value и по идее это правильное обращение. Но получаю другую ошибку
И ничего не могу понять. Других типов "Range" не существует. Помогите пожалуйста, всю голову сломал уже. Все обращения к таблице приводят именно к "тип существует и там и там".
Нашел здесь старую тему на похожую проблему (Как работать с Excel из C#.NET?) но почему-то как такового решения конкретно этой проблемы там нету.
using Excel = Microsoft.Office.Interop.Excel; Excel.Workbook excelBook = excelApp.Workbooks.Open(Environment.CurrentDirectory + "" + excelFile); Excel.Worksheet excelSheet = (Excel.Worksheet)excelBook.Worksheets.Item[1]; Excel.Range excelRange = excelSheet.UsedRange; var F = excelRange.Find("123");
error CS1061: "Range" не содержит определения для "Value" и не удалось найти метод расширения "Value", принимающий тип "Range" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
error CS0433: Тип "Range" существует как в "MyApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", так и в "Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c".
Решение задачи: «.NET 4.x Дубликат типов при работе с Excel документом»
textual
Листинг программы
Excel.Range Rng; string excelFile = @"G:\C#\ExcelFile.xlsx"; Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Excel.Workbook excelBook = xlApp.Workbooks.Open(excelFile); Excel.Worksheet excelSheet = (Excel.Worksheet)excelBook.Worksheets.Item[1]; Excel.Range excelRange = excelSheet.UsedRange; Rng = excelRange.Find("123"); MessageBox.Show(string.Format("Адрес ячейки: {0}\nЗначение ячейки: {1}", Rng.Address, Rng.Value.ToString())); excelBook.Close(false); xlApp.Quit();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д