zoukankan      html  css  js  c++  java
  • C# Excel转PDF

    1.命名空间

    using System;

    using Excel = Microsoft.Office.Interop.Excel;

    2.调用方法

          /// <summary>
            /// EXL转PDF
            /// </summary>
            /// <param name="inputFile">待转换的Excel路径</param>
            /// <param name="outputFile">PFD文件路径</param>
            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;
            }
     
  • 相关阅读:
    修改表的定义
    DataFrame.groupby()函数
    有限差分法
    Python之pandas库
    类:实验2家中的电视
    函数:使用函数指针操作函数
    函数:函数操作结构体通过按值传递以及按址传递,使用动态内存
    函数:使用数组名作为函数参数进行操作
    函数:使用递归实现阶乘
    函数:通过按值传递及传递结构地址操作结构
  • 原文地址:https://www.cnblogs.com/dmei/p/14309416.html
Copyright © 2011-2022 走看看