2011-06-07 60 views
0

如果我使用Microsoft.Office.Interop.Excel.ApplicationClass读取如下的excel文件,是否需要明确关闭/退出Excel.applicationClass? 像f#/ .net读取Excel:使用ApplicationClass

let xlsread fileName =  
    let app = Microsoft.Office.Interop.Excel.ApplicationClass(Visible = false) 
    let book = app.Workbooks.Open(fileName) 
    ... 

回答

2

我检查我的一个老代码,使用Excel 2003的互操作,ApplicationClass确实有一个叫做成员Quit。如果仍然没有找到它,请转到MSDN并检查您使用的Office的特定版本(它可能会因版本而异)。使用2007

+0

感谢,我错过了'Quit'方法。我是否需要在上面的函数中明确地调用它?或者它会自动关闭? – matlabdbuser 2011-06-07 13:34:50

+3

这是您应该用于此类互操作的模板:http://pastebin.com/LH1h5RJQ – 2011-06-07 13:48:07

0

这里:

#r "Microsoft.Office.Interop.Excel.dll" 

let xlsread fileName =  
    let app = Microsoft.Office.Interop.Excel.ApplicationClass(Visible = false) 
    let book = app.Workbooks.Open(fileName) 

    do book.Close() 
    do app.Quit() 

工作正常

+0

虽然只是调用app.Quit似乎不会破坏产生的进程,但Ramon Snir的模板完美无瑕。 – Bartosz 2011-06-07 13:57:52