private static void ConvertCSVToPDF(string filePath) { string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(filePath); string outputFilePath = OutputFolder + fileNameWithoutExtension + ".pdf"; Microsoft.Office.Interop.Excel.Application application = new Microsoft.Office.Interop.Excel.Application(); application.Visible = false; Workbook workbook = null; Workbooks workbooks = null; try { workbooks = application.Workbooks; workbooks.OpenText(Filename: filePath, DataType: XlTextParsingType.xlDelimited, Semicolon: true); workbook = workbooks[1]; workbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, outputFilePath, XlFixedFormatQuality.xlQualityStandard, true, true, Type.Missing, Type.Missing, false, Type.Missing); } catch (System.Exception e) { log.Error("Eccezione durante la conversione del file Excel " + filePath); log.Error(e.StackTrace); File.Move(filePath, ErrorFolder + Path.GetFileName(filePath)); } finally { if (workbook != null) { workbook.Close(XlSaveAction.xlDoNotSaveChanges); while (Marshal.FinalReleaseComObject(workbook) != 0) { ; } } if (workbooks != null) { workbooks.Close(); while (Marshal.FinalReleaseComObject(workbooks) != 0) { ; } } if (application != null) { application.Quit(); application.Application.Quit(); while (Marshal.FinalReleaseComObject(application) != 0) { ; } } CloseProcess("EXCEL"); File.Delete(filePath); } }