我使用(并改变)从C#的Excel的文件,如:C#:Excel中枚举(闭)所有打开的文件
Excel.Application app = new Excel.Application();
Excel.Workbooks books = exel_app.Workbooks;
Excel.Workbook book = books.Open(sFileName, 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);
... changing some things in the Excel-File ...
book.Close(true, Type.Missing, Type.Missing);
app.Quit();
能正常工作至今。我的问题是:在调试代码并取消运行而未关闭本书时,我无法使用books.Open在另一次运行中,因为Excel和书籍艺术仍然打开并因此被锁定。所以我必须通过任务管理器杀死Excel。
我的想法是通过所有打开的书籍不胜枚举,检查文件名符合并关闭它们,如:
foreach(Excel.Workbook b in books)
{
Console.WriteLine(b.ToString());
}
或
Excel.Workbook bookOld = books.get_Item(sFileName);
if (bookOld != null) bookOld.Close(false, Type.Missing, Type.Missing);
我的问题是,该工作簿,收藏是永远空,无论哪个excel文件加载...任何想法如何解决这个问题?
可能感兴趣的:http://www.devasp.net/net/articles/display/688.html – Fionnuala 2010-12-13 11:26:05