国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#將Excel轉成PDF的方法

2020-01-24 00:10:59
字體:
來源:轉載
供稿:網友

PS:公司的業務中有個超級大的作業就是把OFFICE文檔轉成PDF,我猜之前沒程序猿們,公司那些人應該是一個個手動轉。強烈為猿們感嘆,幫你們做了這么多事,還在那抱怨....無法滿足你們的需求啊;

微軟net平臺提供了對Office文檔非常好的支持;其中有com組件直接集成到了VS中。利用這些API可以快速的免去N多繁瑣的工作;

以下代碼是翻閱了公司的代碼,一個個敲出來的;奉上代碼:

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Runtime.InteropServices;using Microsoft.Office.Interop.Excel;//Office 命名空間namespace OfficeToPdf{  //excel 類  class ExcelConverter  {    //構造函數    public ExcelConverter()    { }    /// <summary>    /// 轉換excel 成PDF文檔    /// </summary>    /// <param name="_lstrInputFile">原文件路徑</param>    /// <param name="_lstrOutFile">pdf文件輸出路徑</param>    /// <returns>true 成功</returns>    public bool ConverterToPdf(string _lstrInputFile,string _lstrOutFile)    {      Microsoft.Office.Interop.Excel.Application lobjExcelApp = null;            Microsoft.Office.Interop.Excel.Workbooks lobjExcelWorkBooks = null;      Microsoft.Office.Interop.Excel.Workbook lobjExcelWorkBook = null;      string lstrTemp = string.Empty;      object lobjMissing = System.Reflection.Missing.Value;      try      {        lobjExcelApp = new Microsoft.Office.Interop.Excel.Application();        lobjExcelApp.Visible = true;        lobjExcelWorkBooks = lobjExcelApp.Workbooks;        lobjExcelWorkBook = lobjExcelWorkBooks.Open(_lstrInputFile, true, true, lobjMissing, lobjMissing, lobjMissing, true,          lobjMissing, lobjMissing, lobjMissing, lobjMissing, lobjMissing, false, lobjMissing, lobjMissing);        //Microsoft.Office.Interop.Excel 12.0.0.0之后才有這函數              lstrTemp = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".xls" + (lobjExcelWorkBook.HasVBProject ? 'm' : 'x');        //lstrTemp = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".xls";        lobjExcelWorkBook.SaveAs(lstrTemp, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel4Workbook, Type.Missing, Type.Missing, Type.Missing, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing,          false, Type.Missing, Type.Missing, Type.Missing);        //輸出為PDF 第一個選項指定轉出為PDF,還可以指定為XPS格式        lobjExcelWorkBook.ExportAsFixedFormat(Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, _lstrOutFile, Microsoft.Office.Interop.Excel.XlFixedFormatQuality.xlQualityStandard, Type.Missing, false, Type.Missing, Type.Missing, false, Type.Missing);        lobjExcelWorkBooks.Close();        lobjExcelApp.Quit();      }      catch (Exception ex)      {        //其他日志操作;        return false;      }      finally {        if (lobjExcelWorkBook != null)        {          lobjExcelWorkBook.Close(Type.Missing,Type.Missing,Type.Missing);          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 true;    }  }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 固安县| 乌拉特中旗| 平舆县| 拉萨市| 应城市| 临沭县| 九江市| 奈曼旗| 上杭县| 巨野县| 雅安市| 天全县| 云阳县| 东源县| 孝感市| 宁夏| 五峰| 巴林左旗| 建湖县| 肥乡县| 峨眉山市| 十堰市| 轮台县| 金溪县| 翁源县| 格尔木市| 泗洪县| 纳雍县| 绿春县| 济宁市| 宜丰县| 抚远县| 梁山县| 云安县| 浮梁县| 崇礼县| 巴东县| 比如县| 张家港市| 宣恩县| 西畴县|