使用excel为模板打印的好处是格式容易调整,这种方法要求客户端系统配置高度统一,譬如excel安装版本一致,存在服务器上的excel模板必须与客户端excel版本一致,而且不能用其他版本的excel修改。

javascript打印excel代码

<script type="text/javascript" >
function Print_Click() {
alert("打印测试");
var Template = "http://172.16.18.217/ExcelDoc/CreateCard.xls";
var xlApp = new ActiveXObject("Excel.Application");
var xlBook = xlApp.Workbooks.add(Template);
var xlsheet = xlBook.ActiveSheet;
xlsheet.printout;
xlApp = null;
xlsheet = null; }
</script>

ASP.NET中后台调用javascript打印excel代码

protected void PrintTestButton_Click(object sender, EventArgs e)
{
string StrScript;
StrScript = ("<script type='text/javascript'>");
StrScript += ("alert(\"打印测试\");");
StrScript += ("var Template ='http://172.16.18.217/ExcelDoc/CreateCard.xls';");
StrScript += ("var xlApp = new ActiveXObject('Excel.Application');");
StrScript += ("if(xlApp== undefined){");
StrScript += ("alert(\"Excel对象创建失败\");}else{");
StrScript += ("var xlBook = xlApp.Workbooks.add(Template);");
StrScript += ("var xlsheet = xlBook.ActiveSheet;");
StrScript += ("xlsheet.printout;");
StrScript += ("xlApp = null;");
StrScript += ("xlsheet = null;}");
StrScript += ("</script>");
this.ClientScript.RegisterStartupScript(this.GetType(), " ", StrScript);
}

C#打印

public int PrintPatientInfo()
{
PrintExcel pExcel = new PrintExcel("CreateCard.xls"); Worksheet sheet = pExcel.GetWorksheet(); sheet.Cells[, ] = "建卡信息";
sheet.Cells[, ] = "患者卡号:";
sheet.Cells[, ] = patientCardNum.Trim();
sheet.Cells[, ] = "患者姓名:";
sheet.Cells[, ] = patientName.Trim();
sheet.Cells[, ] = "金额";
sheet.Cells[, ] = "1元";
sheet.Cells[, ] = "日期";
sheet.Cells[, ] = DateTime.Now.ToString("yyyy-MM-dd");
pExcel.ExecPrint(); return ;
}

ASP.NET在服务器端用C#组织javascript打印代码并在IE客户端打印,还可以指定打印机,最方便

public class PrintExcelJs
{
private string excelPath;
private string StrScript; public PrintExcelJs(string xslPath)
{
excelPath = xslPath;
StrScript = "<script type='text/javascript'>";
StrScript += "var Template ='"+excelPath+"';";
StrScript += "var xlApp = new ActiveXObject('Excel.Application');";
StrScript += "if(xlApp== undefined){";
StrScript += "alert(\"Excel对象创建失败\");}else{";
StrScript += "var xlBook = xlApp.Workbooks.add(Template);";
StrScript += "var xlsheet = xlBook.ActiveSheet;";
} public void InsertValueToExcelCell(int i, int j, string strContent)
{
StrScript += "xlsheet.cells(" + i.ToString() + "," + j.ToString() + ")";
StrScript += "=\"" + strContent + "\";";
} public void ExecPrint(System.Web.UI.Page page,int numOfPrint=)
{
StrScript += "xlsheet.printout(1,null,1,false,\"PrintGuid\",false,false);";//这段代码花了我半天时间,因为之前听说javascript不能指定打印机,存疑,后来终于找到正确的用法了
StrScript += "xlApp = null;";
StrScript += "xlsheet = null;}";
StrScript += "</script>";
page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), StrScript);
}
} 示例代码: private void PrintTestButton_Click()
{
string excelPath = "http://"+Request.Url.Host + @"/ExcelDoc/" + "CreateCard.xls";
PrintExcelJs pExcel = new PrintExcelJs(excelPath); pExcel.InsertValueToExcelCell(, , "XX信息");
pExcel.InsertValueToExcelCell(, , "患者卡号:");
pExcel.InsertValueToExcelCell(, , patientCardNum.Trim());
pExcel.InsertValueToExcelCell(, , "患者姓名:");
pExcel.InsertValueToExcelCell(, , patientName.Trim());
pExcel.InsertValueToExcelCell(, , "金额");
pExcel.InsertValueToExcelCell(, , "1元");
pExcel.InsertValueToExcelCell(, , "日期");
pExcel.InsertValueToExcelCell(, , DateTime.Now.ToString("yyyy-MM-dd"));
pExcel.ExecPrint(this,);
}

js以excel为模板的打印的更多相关文章

  1. C#用 excel 作为模板打印

    //打印操作,套打.打印.预览        enum PrintFlag        {            /// <summary>            /// 套打,只打印没 ...

  2. Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"

    Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...

  3. C# web项目利用docx文档作为模板~为打印专做的解决方案

    还是那句话:十年河东,十年河西,莫欺少年穷. 目前,web端打印技术有很多,有收费的专业web打印控件,大家可以参考我的上一篇博客.当然,很多公司不愿意出钱,那么今天咱们就探讨下怎么做免费的打印. w ...

  4. js导出excel

    function inportEx() { $("#btnEx").text("导出中..."); var fugNumber = "";/ ...

  5. 使用node.js生成excel报表下载(excel-export express篇)

    引言:日常工作中已经有许多应用功能块使用了nodejs作为web服务器,而生成报表下载也是我们在传统应用. java中提供了2套类库实现(jxl 和POI),.NET 作为微软的亲儿子更加不用说,各种 ...

  6. node.js之excel文件读取

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉.node.js解析excel, 读取记录. 业务需求,从excel (xlsx, xls)导入数据. 备选 ...

  7. java动态生成带下拉框的Excel导入模板

    在实际开发中,由于业务需要,常常需要进行Excel导入导出操作.以前做一些简单的导入时,先准备一个模板,再进行导入,单有十几. 二十几个导入模板时,往往要做十几.二十几个模板.而且,当在模板中需要有下 ...

  8. Node.js学习(14)----EJS模板引擎

    这个入门教程将从以下几个方面来讲解: 1. 引入EJS 2. 创建一个模板 3. 使用视图工具组件 4. 使用错误处理组件 5. 什么情况下应使用EJS 引入EJS 在我们正式开始前,我们先来做点准备 ...

  9. angular.js的路由和模板在asp.net mvc 中的使用

    angular.js的路由和模板在asp.net mvc 中的使用 我们知道angular.js是基于mvc 的一款优秀js框架,它也有一套自己的路由机制,和asp.net mvc 路由不太一样.as ...

随机推荐

  1. 用RSS订阅微信公众号

    现在用RSS的人应该不多了,不过还是写一下吧. 一.付费服务:今天看啥 1.付费原因: 目前,网上几乎没有免费的用RSS订阅微信公号的方法,所以我推荐的是付费方法: 具体使用的服务是今天看啥,服务还是 ...

  2. 创建超小的Golang docker 镜像

    原文: http://colobu.com/2015/10/12/create-minimal-golang-docker-images/ 本文对于创建超小的镜像非常有用 Docker是PaaS供应商 ...

  3. https://www.cnblogs.com/yuanchenqi/articles/6755717.html

    知识预览 一 进程与线程的概念 二 threading模块 三 multiprocessing模块 四 协程 五 IO模型 回到顶部 一 进程与线程的概念 1.1 进程 考虑一个场景:浏览器,网易云音 ...

  4. SOE 中调用第三方dll

    一.简介 在利用soe实现server的扩展的时候,有些时候,需要调用第三方的dll库.官网中给出了明确的说明,soe中是可以添加第三方的dll文件,但是一直没有测试.按照官方的步骤应该是一个非常的简 ...

  5. 接口测试工具 — jmeter(参数化)

    1.用户定义的变量 添加一个用户定义的变量 添加变量值 2.函数生成器 函数生成 随机数生成 取当前时间 3.从文件中读取 1)新建一个TXT文档,录入数据 2)读取文件 3)使用数据,用 ${pho ...

  6. 某游戏应用的redis 数据库结构设计(转)

    add by zhj: 搜了一下作者,原来之前是网易的大牛.2011年的文章,有些老了,很多地方可以将string类型键转为hash类型,这样更节省内存,将key聚合在一起,也更简练. 原文:http ...

  7. 浅谈 Python 的 with 语句(转)

    add by zhj: 上下文管理器是对try-except-finally的再封装而已,只能算是优化代码这一级别的feature 原文:http://www.ibm.com/developerwor ...

  8. 前端(css引入的3中方式)

    一.css引入的三种方式 行间式 在标签头部的style属性内 属性值满足的是css语法 属性值用key:value形式赋值,value具有单位 属性值之间用;隔开 外联式(企业开发中使用这种方式) ...

  9. 我的Android进阶之旅------>Android APP终极瘦身指南

    首先声明,下面文字转载于: APK瘦身实践 http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ APP ...

  10. json的相关操作

    最近对json的操作不是很理解 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 它基于 ECMAScript (w3c制定的j ...