I have been trying to save a excel file as pdf format. every time I run the program, a excel job alives in Task-Manager. I can save a excel file as pdf file but a excel job isn't removed. It would be really helpful if someone help me out this situation. thank you.
using Excel = Microsoft.Office.Interop.Excel;
main{
var bookToPdf = new MyExcelBook();
bookToPdf.SaveAsPDF(@"C:\test.xlsx", @"C:\test.pdf");
}
namespace MyExcel{
public class MyExcelBook{
public void SaveAsPDF(string excelPath, string pdfPath)
{
Excel.Application application = new Excel.Application();
Excel.Workbooks workbooks = application.Workbooks;
Excel.Workbook workbook = workbooks.Open(excelPath); ;
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
workbook.ExportAsFixedFormat2 (
Filename: pdfPath,
Type:Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF);
worksheet.Cells.Clear();
workbook.Close(SaveChanges: false);
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
worksheet = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
workbook = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);
workbooks = null;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
application.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(application);
application = null;
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
}
}