C# - forma adequada de abrir e fechar um arquivo excel programaticamente
Não consigo encontrar a maneira correcta de abrir e fechar um ficheiro excel.
Eis o que tenho de abrir o meu ficheiro, que acho demasiado complicado:
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);
Não faço ideia de como fechá-la correctamente. Eu preciso salvá-lo com o mesmo caminho e ter certeza de que o excel não está ainda rodando em segundo plano depois que ele é fechado.
Alguém pode facilitar-me as coisas?
Obrigado.
4
2 answers
Semi-código:
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();
2
Author: David, 2015-06-11 22:40:16
Liberta os objectos COM quando terminados...
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);
6
Author: yodag123, 2017-01-11 22:25:12