[問題] 產生EXCEL後,工作管理員卻還有程序
GOOGLE上有很多解決方法,不過目前只有一個方法OK,但是還是有問題
我主要是想把database的檔案撈出來,存到EXCEL
code大概是
Excel.Application xApp = new Excel.ApplicationClass();
Excel.Workbook xBook = xApp.Workbooks.Open(ReportPath[0],
Missing.Value, Missing.Value, Missing.Value,Missing.Value, Missing.Value, Missi
ng.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Va
lue, Missing.Value, Missing.Value, Missing.Value);
Excel.Worksheet xSheet01 = (Excel.Worksheet)xBook.Sheets["A1"];
Excel.Worksheet xSheet02 = (Excel.Worksheet)xBook.Sheets["A2"];
Excel.Worksheet xSheet03 = (Excel.Worksheet)xBook.Sheets["A3"];
xSheet01.get_Range("A7", "A111").ToString()).Value2 = data;
//關閉EXCEL
xBook.Close(false, Missing.Value, Missing.Value);
xApp.Workbooks.Close();
xApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet01);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet02);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSheet03);
xApp = null;
xBook = null;
xSheet01 = null;
xSheet02 = null;
xSheet03 = null;
GC.Collect();
GC.WaitForPendingFinalizers();
基本上大家都用這種方法,但是我還是關不掉Orz
後來找到一個殘暴的方法
foreach (System.Diagnostics.Process proc in
System.Diagnostics.Process.GetProcesses())
{
if (proc.ProcessName == "EXCEL")
{
proc.Kill();
}
}
但是這種方法會讓產生出來的EXCEL檔案開啟時,出現
其檔案格式與副檔名所指定的格式不同,開啟檔案前,請確認檔案未損毀,且來自信任的
來源」的錯誤,所以沒辦法用這種方法去關閉EXCEL
想請教各位是我第一段關閉的code有甚麼問題,還是有其他方法能夠解決,謝謝。
--
這裡不是讓你被治癒的
只是讓你病更重的..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.170.127.19
※ 編輯: firingmoon 來自: 1.170.127.19 (10/17 16:47)
推
10/17 16:55, , 1F
10/17 16:55, 1F
→
10/17 17:19, , 2F
10/17 17:19, 2F
→
10/17 22:25, , 3F
10/17 22:25, 3F
推
10/18 00:28, , 4F
10/18 00:28, 4F
→
10/18 12:40, , 5F
10/18 12:40, 5F
→
10/18 12:41, , 6F
10/18 12:41, 6F
→
10/18 12:41, , 7F
10/18 12:41, 7F
推
10/23 16:50, , 8F
10/23 16:50, 8F
→
10/30 12:02, , 9F
10/30 12:02, 9F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章