Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 11:32   #1
MaGWaY_minsk
Пользователь
 
Регистрация: 17.10.2008
Сообщений: 35
По умолчанию C# и MS Excel

Доброго всем времени суток. Сегодня столкнулся с проблемой:
Приложение открывает MS Excel, заносит некоторые данные в ячейки, выводит страницу на печать и закрывает excel. Однако, после всего окно excel'я скрывается, но процесс остается висеть, в результате чего после печати страниц остается висеть по процессу за каждую.
Подскажите, как более грамотно закрыть Excel.

Код:
            excelapp = new Excel.Application();
            excelapp.Visible = false;
            //Получаем набор ссылок на объекты Workbook
            excelappworkbooks = excelapp.Workbooks;
            //Открываем книгу и получаем на нее ссылку
            excelappworkbook = excelapp.Workbooks.Open(Convert.ToString(System.IO.Directory.GetCurrentDirectory()) + @"\template\ticket.xls",
                               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);
            //Если бы мы открыли несколько книг, то получили ссылку так
            //excelappworkbook=excelappworkbooks[1];
            //Получаем массив ссылок на листы выбранной книги
            excelsheets = excelappworkbook.Worksheets;
            //Получаем ссылку на лист 1
            excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);

            /* Ввод данных в ячейки */
            excelcells = excelworksheet.get_Range("C4", "C4");
            excelcells.Value2 = "a";
            /* Вывод страницы на печать */
            excelappworkbook.PrintOutEx();
            /* Закрытие книги */
            excelappworkbook.Close(false);
MaGWaY_minsk вне форума Ответить с цитированием
Старый 22.04.2012, 12:44   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

По хорошему в конце надо делать Quit екселю. Но и это врядли спасет.
Поищите в сапорте микрософта, где-то это проскакивало. Если правильно помню то там надо процесс убивать в системе.
=master= вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
автоматизация поиска данных excel файла в другом excel файле с соответствующими пометками! ruotches Microsoft Office Excel 23 18.06.2013 10:24
Скорость исполнения макроса в Excel-2010 намного ниже, чем в Excel-2003 Павел+ Microsoft Office Excel 5 29.12.2010 03:28
Каким образом можно сделать таблицу Excel в ячейке Excel? Severny Microsoft Office Excel 3 08.10.2010 09:13
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47
Формирование из excel в ASCII, у меня он формирует по одному клиенту а в Excel нескол Askat Общие вопросы Delphi 0 18.07.2007 06:28