![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
lirikKS86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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,которым он занят. Буду благодарен за любые идеи и решения этой проблемы. За раннее благодарю за помощь!!!! |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
objWorkBook.Dispose() делайте + Marshal.ReleaseComObject(objWorkBook) и для ЛЮБЫХ объектов которые вы создавали (включая ранджи и т.д.)
Я напомню что xl.Page.Range - тут создаются ДВА объекта - Page и Range. И их оба надо отдельно удалять, т.е. писать так:
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
lirikKS86 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 6.10.2011 Репутация: нет Всего: -1 |
Большое спасибо jonie. Сейчас попробую реализовать.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |