Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаление Excel.exe процесса на сервере, удаление Excel.exe процесса на сервере 
:(
    Опции темы
lirikKS86
Дата 6.10.2011, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.10.2011

Репутация: нет
Всего: -1



Добрый день коллеги!
При загрузке данных на сервер из Excel столкнулся со следующей проблемой. Пользователь выбирает файл *.xls, 
после чего он загружается на сервер и считывается с помощью объекта  Microsoft.Office.Interop.Excel (примерный код):
     objExcel = new Excel.Application();
     Excel.Workbook objWorkBook = objExcel.Workbooks.Open(strNewPath, 
                                             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);
      Excel.Sheets excelsheets = objWorkBook.Worksheets;
      Excel.Worksheet sheet = (Excel.Worksheet)excelsheets.get_Item(1);
      while(true)  {  //считываем файл   }
  Далее закрываю объект objExcel и удаляю загруженный файл:
    objExcel.Quit();
    //удаляем файл
    File.Delete(strNewPath);
  Все проходит, а процесс, порожденный вызовом objExcel = new Excel.Application() висит в диспетчере задач с именем
  EXCEL.EXE. При повторной загрузке, создается еще один процесс с именем EXCEL.EXE. 
    Необходимо как-то по имени загруженного на сервер файла .xls удалить процесс EXCEL.EXE,которым он занят. 
    Буду благодарен за любые идеи и решения этой проблемы. За раннее благодарю за помощь!!!!
PM MAIL   Вверх
Любитель
Дата 10.10.2011, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Marshal.ReleaseComObject надо вызывать для всех COM-объектов, чтоб нормально работало


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0960 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.