Удаление 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();
}