Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Генерация Excel отчета.

29K
08 октября 2010 года
Zloi_lamer
9 / / 23.01.2008
Доброго времени суток! Обращаюсь сюда, потому что 3 дня сижу уже с проблемой и не могу разобраться.

Суть вопроса - есть веб-приложение, со страницей авторизации, с множеством подключенных БД .. и т.д.
Необходимо при нажатии на кнопку сгенерить ексель отчет, исходя из имеющегося шаблона, заполнить этот отчет данными из БД и отправить клиенту( имеется ввиду, что отчет сгенерировался и открылся у пользователя).

Проблема заключается в том, что когда я запускаю проект через VS Development Server , всё нормально работает, однако когда выставляю "ИСпользовать локальный веб-сервер IIS, отчет не генерируется, появляется ошибка :

[COLOR="Red"]Не удалось получить фабрику класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80070005 Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)).[/COLOR]

Перекопала большинство форумов.. все советуют назначить ASPNET-у полные права доступа к Microsoft.Excel. Однако этот вариант тоже не помог решить проблему.

вот кусочек кода - где создаётся отчет
Код:
public void CreateEx()
    {
        Excel.Application app;
        Excel.Workbook wkb;
        Excel.Worksheet wst;

        app = new Excel.Application();
        wkb = app.Workbooks.Open(@"D:\ETERNOVETCAIA\WebReports\Reports\anexa8.xlt", Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing);

        app.Visible = true;
    }


приложение завершает работу на этом моменте

Цитата:
app = new Excel.Application();



Помогите, может кто-то сталкивался с подобной проблемой...

2.2K
08 октября 2010 года
REFOT
181 / / 08.04.2005
Была похожая проблема при доступе к COM объекту службы, решил ее, указав в Web.config, что работать надо из под администратора. Может тоже поможет.

Код:
<?xml version="1.0"?>
<configuration>
   <appSettings/>
   <connectionStrings/>
   <system.web>
      [color=red]<identity impersonate="true"
         userName="Administrator"
         password="mypassword"
       />[/color]
      <compilation debug="true" targetFramework="4.0">
      </compilation>
      <authentication mode="Windows"/>
      <pages controlRenderingCompatibilityVersion="3.5"  clientIDMode="AutoID"/>
   </system.web>
</configuration>
29K
11 октября 2010 года
Zloi_lamer
9 / / 23.01.2008
Спасибо, пробовала. К сожалению, тоже не помогло.
Всё та же проблема... Не удалось получить фабрику класса COM.
2.2K
11 октября 2010 года
REFOT
181 / / 08.04.2005
http://www.gotdotnet.ru/forums/4/107709/
Смотрим самое последнее сообщение. Проверил всё работает :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог