C# Excel转PDF
1.命名空间
using System;
using Excel = Microsoft.Office.Interop.Excel;
2.调用方法
////// EXL转PDF /// /// 待转换的Excel路径 /// PFD文件路径 public string ExcelToPdf(string inputFile, string outputFile) { Excel.Application lobjExcelApp = null; Excel.Workbooks lobjExcelWorkBooks = null; Excel.Workbook lobjExcelWorkBook = null; string lstrTemp = string.Empty; object lobjMissing = System.Reflection.Missing.Value; try { lobjExcelApp = new Excel.Application(); lobjExcelApp.Visible = false; lobjExcelApp.DisplayAlerts = false; lobjExcelApp.ScreenUpdating = false; lobjExcelWorkBooks = lobjExcelApp.Workbooks; lobjExcelWorkBook = lobjExcelWorkBooks.Open(inputFile); if (lobjExcelWorkBook == null) { lobjExcelApp.Quit(); lobjExcelApp = null; } else { //输出为PDF 第一个选项指定转出为PDF lobjExcelWorkBook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, outputFile, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, Type.Missing, Type.Missing, false, Type.Missing); } } catch (Exception ex) { throw ex; } finally { if (lobjExcelWorkBook != null) { lobjExcelWorkBook.Close(); Marshal.ReleaseComObject(lobjExcelWorkBook); lobjExcelWorkBook = null; } if (lobjExcelWorkBooks != null) { lobjExcelWorkBooks.Close(); Marshal.ReleaseComObject(lobjExcelWorkBooks); lobjExcelWorkBooks = null; } if (lobjExcelApp != null) { lobjExcelApp.Quit(); Marshal.ReleaseComObject(lobjExcelApp); lobjExcelApp = null; } //主动激活垃圾回收器,主要是避免超大批量转文档时,内存占用过多,而垃圾回收器并不是时刻都在运行! GC.Collect(); GC.WaitForPendingFinalizers(); } return outputFile; }