1.html转pdf
using System;using System.Collections.Generic;using System.Linq;using System.Web;////// HtmlToPdf 的摘要说明/// 使用前需要安装事项/// 安装软件见 Lib/wkhtmltox-0.12.4_msvc2015-win64.exe/// public class HtmlToPdf{ ////// 根据实际安装目录修改 /// private string exePath = @"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"; public HtmlToPdf() { // // TODO: 在此处添加构造函数逻辑 // } public bool ToPdf(string url,string outPdfPath) { try { string path = url + " " + outPdfPath; //执行wkhtmltopdf.exe System.Diagnostics.Process p = System.Diagnostics.Process.Start(exePath, path); //若不加这一行,程序就会马上执行下一句而抓不到文件发生意外:System.IO.FileNotFoundException: 找不到文件 ''。 p.WaitForExit(); return true; } catch (Exception) { } return false; //因为Web 是多线程环境,避免甲产生的文件被乙下载去,所以档名都用唯一 // string fileNameWithOutExtention = Guid.NewGuid().ToString(); }}
使用需要下载并安装wkhtmltopdf.exe文件
HtmlToPdf pdf = new HtmlToPdf();var vl = pdf.ToPdf("要保存的url地址需要包含http://xxxxxx", "PDF要保存的文件路径+文件名称");
2.读取html内容
////// 读取ht.html文件内容 /// ///private string GetBidTempStrng() { StringBuilder sbHtml = new StringBuilder(); // 读取模板替换数据 var path = Server.MapPath("~/contractFile/ht.html"); using (Stream inStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read)) using (StreamReader outStream = new StreamReader(inStream, Encoding.Default)) { while (!outStream.EndOfStream) { sbHtml.Append(outStream.ReadLine()); } } var html = sbHtml.ToString(); return html; }
3. webform中将html文件保存为word文件
#region 转换为Word文档样式 //Response.ContentType = "application/msword"; Response.ContentType = "application/msword"; //Response.Write(Encoding.UTF8.GetBytes(sb.ToString())); string fileName = "xxx.doc";//客户端保存的文件名 string filePath = Server.MapPath("~/contractFile/ht.html");//路径 //以字符流的形式下载文件 FileStream fs = new FileStream(filePath, FileMode.Open); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); //Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.BinaryWrite(bytes); Response.Flush(); Response.End(); #endregion
4.ie中将文件保存为word
政府采购合同
合同编号:(自动抓取项目编号)@xmbh@
采购人(甲方):@cgr@(自动抓取)
供应商(乙方):@gys@ (自动抓取)
根据《中华人民共和国政府采购法》、《中华人民共和国合同法》及@xmmc@(自动抓取)采购项目(项目编号:@xmbh@自动抓取)的《竞价文件》、乙方的《报价资料》及《成交通知书》,甲、乙双方同意签订本合同。双方同意共同遵守如下条款:
一、合同货物(系统自动抓取)
货物品名 规格型号 详细技术参数 单位 数量 单价 总价(万元) 小火车 001 详细技术参数 辆 1 120 0.00120(万元) 小火车 001 详细技术参数 辆 1 120 0.00120(万元) 合计 xxxx元(大写)
5.html table导出excel
var idTmr;function ExportToExcel(tableid) { if (getExplorer() == 'ie') { var curTbl = document.getElementById(tableid); var oXL; try { oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel } catch (e) { alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel," + "那么请调整IE的安全级别。\n\n具体操作:\n\n" + "工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用"); return false; } var oWB = oXL.Workbooks.Add(); var xlsheet = oWB.Worksheets(1); var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); xlsheet.Paste(); oXL.Visible = true; try { var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls"); } catch (e) { print("Nested catch caught " + e); } finally { oWB.SaveAs(fname); oWB.Close(savechanges = false); oXL.Quit(); oXL = null; idTmr = window.setInterval("Cleanup();", 1); } } else { tableToExcel(tableid) }}//获取浏览器种类function getExplorer() { var explorer = window.navigator.userAgent; //ie if (explorer.indexOf("MSIE") >= 0) { return 'ie'; } //firefox else if (explorer.indexOf("Firefox") >= 0) { return 'Firefox'; } //Chrome else if (explorer.indexOf("Chrome") >= 0) { return 'Chrome'; } //Opera else if (explorer.indexOf("Opera") >= 0) { return 'Opera'; } //Safari else if (explorer.indexOf("Safari") >= 0) { return 'Safari'; }}function Cleanup() { window.clearInterval(idTmr); CollectGarbage();}//导出Excelvar tableToExcel = (function () { var uri = 'data:application/vnd.ms-excel;base64,', template = '
导出excel
jQuery("#Excel").click(function () { ExportToExcel("details");});