整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          開源easyHtml-導出html表格文件

          接上篇文章,導出html文件,我對這部分代碼進行優化,提交到github上,為初始版本,后面根據用戶需求與討論,會不斷更新優化功能

          介紹

          • 功能

          導出Html 表格文件,簡單易用

          • 地址

          https://github.com/CollectBugs/EasyHtml

          • 項目展示



          總結

          開發此項目的靈感來源于一次項目開發,發現導出html表格文件需求,比較常見,市面上開源、成熟、免費的方案沒有,如果每一家公司,都從零開始開發,耗時又費力,導致開發周期變長,不如大家開源共建此項目,讓后來人站在巨人的肩膀上進行開發與維護,共享資源,其樂而不為,希望大家多多給與關注與討論哦!

          每天不斷更,精彩不停止,明天見,我是行者

          記得留個關注、點贊、評論喲,讓我們一起去看星辰大海,品味代碼人生

          、nuget 引用

          Select.HtmlToPdf

          2、方法

          • using SelectPdf;using System.Collections.Specialized;using System.IO;using System.Web;
            namespace BQoolCommon.Helpers.File{ public class WebToPdf { public WebToPdf() { //SelectPdf.GlobalProperties.LicenseKey = "your-license-key"; }
            /// <summary> /// 將 Html 轉成 PDF,並儲存成檔案 /// </summary> /// <param name="html">html</param> /// <param name="fileName">絕對路徑</param> public void SaveToFileByHtml(string html, string fileName) { var doc = SetPdfDocument(html); doc.Save(fileName); }
            /// <summary> /// 傳入 Url 轉成 PDF,並儲存成檔案 /// </summary> /// <param name="url">url</param> /// <param name="fileName">絕對路徑</param> /// <param name="httpCookies">Cookies</param> public void SaveToFileByUrl(string url, string fileName, NameValueCollection httpCookies) { var doc = SetPdfDocument(url, httpCookies); doc.Save(fileName); }
            /// <summary> /// 將 Html 轉成 PDF,並輸出成 byte[] 格式 /// </summary> /// <param name="html">html</param> /// <returns></returns> public byte[] GetFileByteByHtml(string html) { var doc = SetPdfDocument(html); return doc.Save(); }
            /// <summary> /// 傳入 Url 轉成 PDF,並輸出成 byte[] 格式 /// </summary> /// <param name="url">url</param> /// <param name="httpCookies">Cookies</param> /// <returns></returns> public byte[] GetFileByteByUrl(string url, NameValueCollection httpCookies) { var doc = SetPdfDocument(url, httpCookies); return doc.Save(); }
            /// <summary> /// 將 Html 轉成 PDF,並輸出成 Stream 格式 /// </summary> /// <param name="html">html</param> /// <returns></returns> public Stream GetFileStreamByHtml(string html) { var doc = SetPdfDocument(html); var pdfStream = new MemoryStream();
            doc.Save(pdfStream); pdfStream.Position = 0;
            return pdfStream; }
            /// <summary> /// 傳入 Url 轉成 PDF,並輸出成 Stream 格式 /// </summary> /// <param name="html">html</param> /// <returns></returns> public Stream GetFileStreamByUrl(string url, NameValueCollection httpCookies) { var doc = SetPdfDocument(url, httpCookies); var pdfStream = new MemoryStream();
            doc.Save(pdfStream); pdfStream.Position = 0;
            return pdfStream; }
            private PdfDocument SetPdfDocument(string html) { var converter = new HtmlToPdf();
            converter.Options.WebPageWidth = 1200; html = HttpUtility.HtmlDecode(html);
            return converter.ConvertHtmlString(html); }
            private PdfDocument SetPdfDocument(string url, NameValueCollection httpCookies) { var converter = new HtmlToPdf(); converter.Options.WebPageWidth = 1200;
            if (httpCookies != && httpCookies.Count != 0) { converter.Options.HttpCookies.Add(httpCookies); }
            return converter.ConvertUrl(url); }
            }}

          目中用到需要將頁面數據導出 就想到了IE的直接導出。

          將用到的示例給大家分享一下:

          //將表格中的數據導出到excel中

          function exportDataToExcel(tid){

          var curTbl = $('#tid');

          var oXLn;

          try{

          oXLn = new ActiveXObject("Excel.Application"); //創建對象excel

          }catch(e){

          alert("無法啟動Excel!\n\n如果您確信您的電腦中已經安裝了Excel,"+"那么請調整IE的安全級別。\n\n具體操作:\n\n"+"工具 → Internet選項 → 安全 → 自定義級別 → 對沒有標記為安全的ActiveX進行初始化和腳本運行 → 啟用");

          return false;

          }

          var oWBs = oXLn.Workbooks.Add(); //獲取workbook對象

          var oSheet1 = oWBs.ActiveSheet;//激活當前sheet

          var sel = document.body.createTextRange();

          sel.moveToElementText(curTbl); //把表格中的內容移到TextRange中

          sel.select(); //全選TextRange中內容

          sel.execCommand("Copy");//復制TextRange中內容

          oSheet1.Paste();//粘貼到活動的EXCEL中

          oXLn.Visible = true; //設置excel可見屬性

          var fname = oXLn.Application.GetSaveAsFilename("將table導出到excel.xls", "Excel Spreadsheets (*.xls), *.xls");

          oWBs.SaveAs(fname);

          oWBs.Close();

          oXLn.nQuit();

          }

          注意:1.電腦必須安裝微軟的excel。

          2.需要將瀏覽器的active控件設置為啟用。


          主站蜘蛛池模板: 国产一区二区电影| 四虎在线观看一区二区 | 国产午夜精品一区二区三区小说 | 一区二区三区四区精品视频| 亚洲无删减国产精品一区| 制服丝袜一区在线| 99精品国产高清一区二区麻豆 | 国产一国产一区秋霞在线观看| 蜜桃视频一区二区| 精品aⅴ一区二区三区| 国产福利一区二区三区| 国产在线精品一区在线观看| 成人精品视频一区二区三区| 中文字幕一区二区三区久久网站 | 一本大道东京热无码一区| 国产高清不卡一区二区| 中文无码一区二区不卡αv | 色噜噜狠狠一区二区三区果冻| 亚洲中文字幕在线无码一区二区| 怡红院一区二区在线观看| 综合久久一区二区三区| 97人妻无码一区二区精品免费| 一区五十路在线中出| 久久久av波多野一区二区| 免费高清av一区二区三区| 国产无码一区二区在线| 麻豆高清免费国产一区| 一区二区日韩国产精品| 精品人妻AV一区二区三区| 亚洲国产高清在线一区二区三区| 日韩人妻精品无码一区二区三区 | 亚洲一区二区高清| 69久久精品无码一区二区| 国产福利一区二区在线视频| 亚洲一区二区三区四区视频 | 最美女人体内射精一区二区| 无码av中文一区二区三区桃花岛 | 一区二区三区四区视频| V一区无码内射国产| 国产一区二区好的精华液| 无码一区二区三区在线观看|