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;
            }
     
  • 相关阅读:
    SQL Server 索引结构及其使用(四)
    正确配置和使用SQL mail
    2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
    配置远程服务器
    SQLServer基本函数
    将人民币的数字表示转化成大写表示(C#版)
    SQL Serer 索引全攻略
    亿众国际点对点文件传输程序
    表的相关操作
    windows文件副檔名說明
  • 原文地址:https://www.cnblogs.com/dmei/p/14309416.html
Copyright © 2011-2022 走看看