Я пытаюсь записать данные в Excel из c #, но при отладке у меня есть исключение:
Невозможно привести объект COM типа 'System .__ ComObject' к типу интерфейса.
'Microsoft.Office.Interop.Excel.Range.
Эта операция не удалась, потому что
QueryInterface вызов на COM
компонент для интерфейса с IID
'{00020846-0000-0000-C000-000000000046}
не удалось из-за следующей ошибки:
Интерфейс не создан (Исключение
от HRESULT: 0x80004002
(E_NOINTERFACE)).
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Excel.Application excelapp;
Excel.Window excelWindow;
Excel.Workbooks excelappworkbooks;
Excel.Workbook excelappworkbook;
Excel.Sheets excelsheets;
Excel.Worksheet excelworksheet;
Excel.Range excelcells;
excelapp = new Excel.Application();
excelapp.Visible = true;
excelappworkbooks = excelapp.Workbooks;
excelappworkbook = excelapp.Workbooks.Open(@"C:\Documents and Settings\дима\Мои документы\Visual Studio 2010\Projects\ConsoleApplication3\ConsoleApplication3\bin\Debug\a.xls",
Type.Missing, Type.Missing, Type.Missing,
"WWWWW", "WWWWW", Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
excelsheets = excelappworkbook.Worksheets;
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
excelcells = excelworksheet.get_Range("A1", "A1");
excelcells.Value2 = 10.5;
}
}
}
}