0

Excel ファイルへのリンクを保存していますが、一度保存すると、Excel プロセスがまだ実行されています。この Excel com オブジェクトを解放するにはどうすればよいですか?

Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook book = app.Workbooks.Add(1);
Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)book.Worksheets[1];

for (int i = 0; i < Links.Count; i++)
{
   sheet.Cells[i + 1, 1] = Links[i];
}

book.SaveAs("test.xlsx");

Marshal.ReleaseComObject(sheet);
sheet = null;
book.Close(true, null, null);
Marshal.ReleaseComObject(book);
book = null;
app.Quit();
Marshal.ReleaseComObject(app);
app = null;
4

1 に答える 1

0

たぶん、「sheet.Cells」は解放しなければならないリファレンスです:

var cells = sheet.Cells;

...

Marshal.ReleaseComObject(cells);
于 2013-08-11T16:06:26.177 に答える