C# - 程序化打开和关闭Excel文件的正确方式

7

我希望您能为我翻译关于IT技术的内容。以下是需要翻译的文本:

我似乎找不到正确的方法来打开和关闭Excel文件。

这是我打开文件的方式,但我觉得这太过复杂了:

        Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();

        Microsoft.Office.Interop.Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath,
            0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "",
            true, false, 0, true, false, false);
        Microsoft.Office.Interop.Excel.Sheets excelSheets = excelWorkbook.Worksheets;

        Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)excelApp.Worksheets[2];
        sheet.Select(Type.Missing);

我不知道如何正确关闭它。我需要将其保存到相同的路径,并确保在关闭后Excel未在后台运行。

可以有人帮我简化一下吗? 谢谢!

2个回答

14

完成时请释放COM对象...

using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

# declare the application object
var xl = new Excel.Application();

# open a file
var wb = xl.Workbooks.Open("some_file.xlsx");


# close the file
wb.Close();

# close the application and release resources
xl.Quit();

#release the COM objects created as a final step:

Marshal.ReleaseComObject(wb);
Marshal.ReleaseComObject(xl);

5
半伪代码:
using Excel = Microsoft.Office.Interop.Excel;

# declare the application object
Excel.Application xl = new Excel.Application();

# open a file
Excel.Workbook wb = xl.Workbooks.Open("some_file.xlsx");

# do stuff ....

# close the file
wb.Close();

# close the application and release resources
xl.Quit();

工作正常,谢谢!但是 Excel 仍然在任务管理器中列出,你知道完全关闭它的方法吗? - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接