Удаление Excel.exe процесса на сервере - C#
Формулировка задачи:
Добрый день коллеги!
При загрузке данных на сервер из Excel столкнулся со следующей проблемой. Пользователь выбирает файл *.xls,
после чего он загружается на сервер и считывается с помощью объекта Microsoft.Office.Interop.Excel (примерный код):
Далее закрываю объект objExcel и удаляю загруженный файл:
Все проходит, а процесс, порожденный вызовом objExcel = new Excel.Application() висит в диспетчере задач с именем
EXCEL.EXE. При повторной загрузке, создается еще один процесс с именем EXCEL.EXE.
Необходимо как-то по имени загруженного на сервер файла .xls удалить процесс EXCEL.EXE,которым он занят.
Буду благодарен за любые идеи и решения этой проблемы. За раннее благодарю за помощь!!!!
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.Quit(); //удаляем файл File.Delete(strNewPath);
Решение задачи: «Удаление Excel.exe процесса на сервере»
textual
Листинг программы
foreach (Process _p in Process.GetProcesses()) { if (_p.ProcessName == "EXCEL") _p.Kill(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д