有谁知道如何简单地打开和关闭Excel工作簿?
我不需要从文件中读取任何数据,我只需要打开并关闭它。 (*)
我猜我需要引用Microsoft.Office.Interop.Excel程序集。
*原因:我已经使用第三方库(Aspose)配置了数据透视表信息。现在我需要阅读生成的数据透视表。
不幸的是,Aspose库无法在运行时生成数据透视表。它需要某人open the file with Excel,以便Excel可以生成数据透视表值。
答案 0 :(得分:11)
引用Microsoft.Office.Interop.Excel之后还要确保在finally中清理。
using Excel = Microsoft.Office.Interop.Excel;
Excel.ApplicationClass _Excel;
Excel.Workbook WB;
Excel.Worksheet WS;
try
{
_Excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
WB = _Excel.Workbooks.Open("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);
//do something
}
catch (Exception ex)
{
WB.Close(false, Type.Missing, Type.Missing);
throw;
}
finally
{
GC.Collect();
GC.WaitForPendingFinalizers();
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(WB);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(_Excel);
}
答案 1 :(得分:3)
一个快速的谷歌在代码项目上给了我这个:
答案 2 :(得分:0)
考虑使用System.Diagnostics.Process来启动,监视和关闭Excel。这个网站提供了一个很好的介绍:http://www.thescarms.com/dotnet/Process.aspx,包括使用不可见的窗口运行并向其发送输入。