Не могу открыть Excel из C#
Код:
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
и предварительно нужно в references добавить "Microsoft Excel 11.0 Object Library".
Ага, добавил, только компилятор говорит, что пространства имен Microsoft.Office.Interop не существует...
И еще Excel в списке Reference'ов помечен значком, и при двойном клике на нем выскакивает "This project cannot be viewed in the object browser because it is unavailable or not yet built" и т. д.
Офис версии 2003 (11.5612.6360).
Студия 2005 (8.0.50727.42).
Что делать? Надо срочно открыть Excel, иначе меня повесят...
Все просто. Если у тебя Visual Studio без Tools for Office этого пространства имен ЬшскщыщаеюЩаашсуюШтеукщзюУчсуд быть не может. Ты подключаешься к COM компоненту и вынужден работать через COM интерфейсы. А interop.Excel - Net компонент. Найди Tools for Office установи, причем Office 2003 должен быть с SP1 а то не установишь. И в Add Refference добавишь ссылку на .NET компонет Excel'a. Вот и все :)
Цитата: JownDevice
Все просто. Если у тебя Visual Studio без Tools for Office этого пространства имен ЬшскщыщаеюЩаашсуюШтеукщзюУчсуд быть не может. Ты подключаешься к COM компоненту и вынужден работать через COM интерфейсы. А interop.Excel - Net компонент. Найди Tools for Office установи, причем Office 2003 должен быть с SP1 а то не установишь. И в Add Refference добавишь ссылку на .NET компонет Excel'a. Вот и все :)
Я уже решил проблему, но все равно спасибо.
Запустил инсталлятор офиса, пометил там все что связано с .NET "устанавливать на мой компутер" (раньше стояло "устанавливать по первому требованию"). Все заработало. Видимо, как раз установились .NET компоненты.
Цитата: JownDevice
Все просто. Если у тебя Visual Studio без Tools for Office этого пространства имен ЬшскщыщаеюЩаашсуюШтеукщзюУчсуд быть не может. Ты подключаешься к COM компоненту и вынужден работать через COM интерфейсы. А interop.Excel - Net компонент. Найди Tools for Office установи, причем Office 2003 должен быть с SP1 а то не установишь. И в Add Refference добавишь ссылку на .NET компонет Excel'a. Вот и все :)
Глупости товарищ говорите. Для работы с COM в .NET никакие Tools не надо. VSTO обычный врапер, который к тому же никакй дополнительной функциональности не несет. В свое время я даже отказался от использования VSTO, т.к. там очень большой напряг с безопасность.
В .NET есть специальная служба, которая на основании компонента вормирует свою сборку, которая в свою очередь и юзает этот компонент.
Цитата:
И еще Excel в списке Reference'ов помечен значком, и при двойном клике на нем выскакивает "This project cannot be viewed in the object browser because it is unavailable or not yet built"
Тут же буржуйским по белому написано, что прожект надо отбилдить.