Открываю Excel документ, могу закрыть, только он не убиваеться из процесса задач - C#
Формулировка задачи:
Работаю в Visual studeo 2005 в С#. Открываю Exel документ, могу закрыть, только он не убиваеться из процесса задач. Из процесса задач Exel вырубаеться только после закрытия программы. Может кто подскажет как его программно, правильно закрыть?
Решение задачи: «Открываю Excel документ, могу закрыть, только он не убиваеться из процесса задач»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { comboBox7.Items.Clear(); openFileDialog1.Filter = "Файл с выплатами | *.xls"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { excelapp = new Excel.Application(); excelapp.Visible = false; excelapp.Workbooks.Open(openFileDialog1.FileName, 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); excelsheets = excelapp.ActiveWorkbook.Worksheets; excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1); excelcells = excelworksheet.get_Range("H3", Type.Missing); try { if (excelcells.Value2.ToString() == "0531813") { excelcells = excelworksheet.get_Range("H4", Type.Missing); data = Convert.ToString(excelcells.Value2); string did; try { sql = "SELECT Value FROM Data WHERE (Value = '" + iData(data) + "')"; cmd = new SqlCommand(sql, cs); sdr = cmd.ExecuteReader(); cmd.Dispose(); sdr.Read(); did = sdr[0].ToString(); sdr.Close(); } catch { sdr.Close(); sql = "INSERT INTO Data (Value) VALUES ('" + iData(data) + "')"; cmd = new SqlCommand(sql, cs); cmd.ExecuteNonQuery(); cmd.Dispose(); } sql = "SELECT id FROM Data WHERE (Value = '" + iData(data) + "')"; cmd = new SqlCommand(sql, cs); sdr = cmd.ExecuteReader(); cmd.Dispose(); sdr.Read(); did = sdr[0].ToString(); sdr.Close(); try { sql = "SELECT id FROM Vipl WHERE (Data = '" + did + "')"; cmd = new SqlCommand(sql, cs); sdr = cmd.ExecuteReader(); cmd.Dispose(); sdr.Read(); did = sdr[0].ToString(); sdr.Close(); System.Windows.Forms.MessageBox.Show("Ведомость кассовых выплат уже занесена в базу данных"); } catch { sdr.Close(); while (inn != "X") { excelcells = excelworksheet.get_Range("C" + q, Type.Missing); inn = Convert.ToString(excelcells.Value2); excelcells = excelworksheet.get_Range("D" + q, Type.Missing); kpp = Convert.ToString(excelcells.Value2); excelcells = excelworksheet.get_Range("E" + q, Type.Missing); kbk = Convert.ToString(excelcells.Value2); excelcells = excelworksheet.get_Range("F" + q, Type.Missing); money = Convert.ToString(excelcells.Value2); excelcells = excelworksheet.get_Range("G" + q, Type.Missing); prim = Convert.ToString(excelcells.Value2); if (inn != "X") { if (prim == "" && kpp == "") { sql = "INSERT INTO Vipl (Data, INN, KBK, Money) VALUES (" + did + ",'" + inn + "', '" + kbk + "', '" + iMoney(money) + "')"; } if (prim != "" && kpp == "") { sql = "INSERT INTO Vipl (Data, INN, KBK, Money, Primech) VALUES (" + did + ",'" + inn + "', '" + kbk + "', '" + iMoney(money) + "'," + prim + ")"; } if (prim != "" && kpp != "") { sql = "INSERT INTO Vipl (Data, INN, KBK, Money, Primech, kpp) VALUES (" + did + ",'" + inn + "', '" + kbk + "', '" + iMoney(money) + "'," + prim + ",'" + kpp + "')"; } if (prim == "" && kpp != "") { sql = "INSERT INTO Vipl (Data, INN, KBK, Money, kpp) VALUES (" + did + ",'" + inn + "', '" + kbk + "', '" + iMoney(money) + "','" + kpp + "')"; } cmd = new SqlCommand(sql, cs); cmd.ExecuteNonQuery(); cmd.Dispose(); } q++; } System.Windows.Forms.MessageBox.Show("Импорт значений в базу данных успешно занесен"); } listBox1.Items.Clear(); sql = "SELECT Distinct Data.Value FROM Data INNER JOIN Vipl ON Data.id = Vipl.Data ORDER BY Data.Value"; cmd = new SqlCommand(sql, cs); sdr = cmd.ExecuteReader(); cmd.Dispose(); while (sdr.Read()) { listBox1.Items.Add(sdr[0].ToString()); } sdr.Close(); label14.Text = "Количество " + listBox1.Items.Count.ToString(); } else { System.Windows.Forms.MessageBox.Show("Вносите только выплаты"); } } catch { System.Windows.Forms.MessageBox.Show("Вносите только выплаты"); } excelapp.Workbooks.Close(); excelapp.Quit(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д