Есть работающий класс, использующий Microsoft.Office.Interop.Excel:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
namespace excel_1
{
class ClassExcel1
{
private Excel.Application excelapp;
private Excel.Window excelWindow;
private Excel.Sheets excelsheets;
private Excel.Worksheet excelworksheet;
private Excel.Range excelcells;
private Excel.Workbooks excelappworkbooks;
private Excel.Workbook excelappworkbook;
public void Read () {
excelapp = new Excel.Application();
excelapp.Visible = true;
excelappworkbooks = excelapp.Workbooks;
excelappworkbook = excelapp.Workbooks.Open(@"d:\ProgramFilesD\Microsoft Visual Studio\my projects\testApp1\Open.xls");
excelsheets = excelappworkbook.Worksheets;
// речь про эту строку:
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
excelcells = excelworksheet.get_Range("A2", Type.Missing);
string sStr = Convert.ToString(excelcells.Value2);
Console.WriteLine(sStr);
}
}
}
При наборе кода в строке:
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
когда ставлю последнюю точку, в списке intellisense нет метода get_Item(), а другие члены класса есть в списке. Имя вызываемого метода приходится писать руками. Тем не менее код работает.
Почему метода нет в списке?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей