Работа с Excel: его процесс висит даже после закрытия программы - C#
Формулировка задачи:
Добрый Вечер!
Подскажите пожалуйста, пишу программу для обработки Excel файлов но после закрытия моей программы в процессах каждый раз остается EXCEL.EXE.
Подключаюсь к Excel так:
.............
..............
public Microsoft.Office.Interop.Excel.ApplicationClass excel = null;
public Microsoft.Office.Interop.Excel.ApplicationClass excel = null;
bool LoadExcel() { cbExcelPage.Items.Clear(); /// === Проверка входных данных === string err_msg = ""; if (textBox1.Text.Trim() == string.Empty) { err_msg = "Укажите Excel файл..."; } else if (!System.IO.File.Exists(textBox1.Text)) { err_msg = string.Format("Файл не найден\n{0}", textBox1.Text); } if (err_msg.Trim() != string.Empty) { // Program.log.Trace(err_msg); MessageBox.Show(err_msg, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; }
Решение задачи: «Работа с Excel: его процесс висит даже после закрытия программы»
textual
Листинг программы
bool LoadExcel() { cbExcelPage.Items.Clear(); /// === Проверка входных данных === string err_msg = ""; if (textBox1.Text.Trim() == string.Empty) { err_msg = "Укажите Excel файл..."; } else if (!System.IO.File.Exists(textBox1.Text)) { err_msg = string.Format("Файл не найден\n{0}", textBox1.Text); } if (err_msg.Trim() != string.Empty) { // Program.log.Trace(err_msg); MessageBox.Show(err_msg, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } // === Работа с Excel === if (!InitExcel()) return false; try { // Открываем Excel и проходимся по закладкам Workbook ObjWorkBook = excel.Workbooks.Open(textBox1.Text, 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); for (int i = 1; i <= ObjWorkBook.Sheets.Count; i++) { Worksheet sheet = (Worksheet)ObjWorkBook.Sheets[i]; cbExcelPage.Items.Add(sheet.Name); // добовляем страницы книг } } catch (Exception e) { string str = string.Format("Ошибка открытия Excel файла:\n {0}", e.Message); MessageBox.Show(str, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } excel.Quit(); return true; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д