使用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[1, 1] = "建卡信息";sheet.Cells[2, 1] = "患者卡号:";sheet.Cells[2, 2] = patientCardNum.Trim();sheet.Cells[2, 3] = "患者姓名:";sheet.Cells[2, 4] = patientName.Trim();sheet.Cells[4, 1] = "金额";sheet.Cells[4, 2] = "1元";sheet.Cells[4, 3] = "日期";sheet.Cells[4, 4] = DateTime.Now.ToString("yyyy-MM-dd");pExcel.ExecPrint(1);return 0;
}

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=1){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(1, 1, "XX信息");pExcel.InsertValueToExcelCell(2, 1, "患者卡号:");pExcel.InsertValueToExcelCell(2, 2, patientCardNum.Trim());pExcel.InsertValueToExcelCell(2, 3, "患者姓名:");pExcel.InsertValueToExcelCell(2, 4, patientName.Trim());pExcel.InsertValueToExcelCell(4, 1, "金额");pExcel.InsertValueToExcelCell(4, 2, "1元");pExcel.InsertValueToExcelCell(4, 3, "日期");pExcel.InsertValueToExcelCell(4, 4, DateTime.Now.ToString("yyyy-MM-dd"));pExcel.ExecPrint(this,1);
}

转载于:https://www.cnblogs.com/NaughtyBaby/p/4275248.html

js以excel为模板的打印相关推荐

  1. JS操作Excel读取和写入(模板操作)

    前一段时间一直在做报表,所以肯定会用到Excel的操作,但是在网上查阅资料有关JS操作excel较少,有的话,也都是老生常谈或很零碎的一些东西.本人是在实际项目中摸索出,JS读写Excel(模板)数据 ...

  2. js控制excel打印完美解决方案

    js控制excel打印完美解决方案 转自:http://hi.baidu.com/hongz1125/blog/item/0152bcfd84ce1e1008244d5c.html 做web开发大家都 ...

  3. 计算机软件制作程序,使用Word和Excel制作模板打印方法_计算机软件和应用程序_IT /计算机_资源...

    使用Word和Excel制作模板A,并打印自我设计证书. 除了一些不固定的信息(例如姓名,等级,科目,奖项,讲师等)之外,其余内容都是固定的. 1.在具有五列的Excel表中创建一个新表,并将标题写在 ...

  4. Excel设置模板以批量打印,适用于表单信息等

    看数据源表,还有就是模板表,是不是大家很容易联想到这样的批量生成操作应该用Word的邮件合并操作,那今天呢我们就用Excel的模板打印设置来实现这样的操作 (方方格子插件) 1.先看动图演示 2.好了 ...

  5. 练字格子纸模板pdf_a4田字格练字纸打印版-练字标准田字格模板-a4打印版下载最新免费excel版-西西软件下载...

    练字标准田字格模板-a4打印版是一份a4田字格练字模板下载,硬笔书法练习田字格模板-标准A4打印版.标准田字格模板-每日练字.硬笔书法练习田字格模板-标准A4打印版.标准田字格模板-A4打印.硬笔书法 ...

  6. 四种利用js导出Excel的方法(兼容IE6+、主流浏览器、支持复杂表头和合并单元格)

    因为项目需求变更,最后决定使用做JS导出Excel,网上看了很多的帖子和例子,很多的例子并不能满足需求( 处理复杂表头,兼容主流浏览器,兼容IE等等).所以,自己找了几个比较不错的例子,在其基础上结合 ...

  7. JS读取Excel时日期格式错误

    问题:在做项目的过程中遇到一个问题,导入excel数据时,发现日期的格式错误.预期效果是2022/1/2,导入后的效果却是44563.查阅资料后发现44563表示 1900年1月1号到2022年1月2 ...

  8. js下载excel表格,下载pdf

    常见我们会遇到下载一个excel表格模板或者下载一个可以查看的PDF文档. 下载excel表格或者下载一个pdf文档,主要是通过两点来实现的: 1- 在webpack里面配置loader 2- 设置下 ...

  9. POI如何使用已有Excel作为模板二三事

    关于POI POI是Apache的一个开源项目,起初的目标是允许用户使用java代码来对Excel进行操作,发展到今天POI本身支持的范围已经逐步扩展到对Microsoft Office主要产品,包括 ...

最新文章

  1. matlab2018无法使用qcat,解决Matlab 2018a源代码的中文支持问题
  2. 2014年百度之星程序设计大赛 - 资格赛 1004 Labyrinth(Dp)
  3. Java_小球自由落体_小球下落问题
  4. express下使用ES6 - dtdxrk - 博客园
  5. java 几种引用类型_Java 四种引用类型总结-Fun言
  6. java 计算机开始时间,关于计算Java程序运行时间
  7. C语言中利用switch语句和 if--else 语句输出,,闰年或平年,及每月对应的天数。
  8. Debian9 安装MySQL 以及普通用户获得root权限安装sudo
  9. 编译lua5.3.5报错:libreadline.so存在多处未定义的引用
  10. GlobalMapper20提取点云LAS文件当中的投影信息
  11. 北理计算机学院接受转专业条件,【知乎北理】在北理珠,我能转专业吗?
  12. Visual Assist X破解版安装(vs2010助手)
  13. 写在博客文章后,关于为什么要写博客,特此提醒自己。
  14. 3D文件压缩库——Draco简析
  15. HTPPS请求 证书 解决方案
  16. 社保已经交够15年了,还需要再交吗?到退休年龄时可以退休吗?
  17. uni-app 图片自适应视图容器
  18. 豆瓣上征婚交友的小姐姐们
  19. logo在线生成怎么操作?手机也能轻松生成
  20. 莫听穿林打叶声,何妨吟啸且徐行。—第十八天

热门文章

  1. 数学和计算机信息专业就业前景,数学专业就业方向和就业前景
  2. 2016级移动应用开发在线测试13-Location、Sensor Network
  3. android 图片轮播组件,Android客户端实现图片轮播控件
  4. 【diskgenius】【Error on partition resizing.(2000011a)Out of disk space.】【The partition(or volume)“PART
  5. 补码/反码、零扩展和符号位扩展(Zero extension and Sign extension)
  6. 2020年8月4日王者服务器维修,2020年8月4日小鸡正确的答案
  7. linux设置合上电脑,[转载]笔记本上装CentOS 7 设置合上盖子不休眠
  8. Uber自动驾驶车祸判决:人没监督车?车没监督人?
  9. python的中文社区
  10. 网页版本模拟linux,Firefox OS 模拟器