OrderPrint - 单据打印的解决之道(提供全部源码)
http://progame.vip.myrice.com
OrderPrint是一个基于excel模板打印单据的组件,通过excel强大的功能来实现打印和预览,并且应用了MVC模式将数据和显示分离,从而使得可以在不重新编写程序的情况下改变打印的设置和效果。
一、模板的设置
1、基本参数设置
模板中的第一、二行为基本参数描述,格式如下:
detailrows detail rows cols
4 10,10;12,13 14 8
解释:
1、detailrows表示每张单据中的明细行数。
2、detail表示单据明细行区域,上面的"10,10;12,13"表示第10行以及第12到13行为明细行区域,可以设置任意多个明细区域,但区域之间不能重叠。
3、rows表示模板中使用的行数(第一、二行也要计算在内)
4、cols表示模板中使用的列数
2、如何设置关键字?
模板中的关键字通过"#...#"来标识,同一个单元格中可以设置任意多个关键字。关键字不区分大小写。
3、系统变量的应用
ordernum 单据张数
orderindex 单据当前张
detailordinal 当前单据明细行的顺序号(从1起)
detailindex 单据明细累计顺序事情(从1起)
4、^的使用
当单据张数为1的时候,以"^"起的单元格将不打印,如果此单元格要打印字符"^"而不是将"^"做为控制符时,可以在"^"加空格
5、公式的应用
OrderPrint支持模板中的公式计算,从而可以更加灵活和强大地设置打印
二、数据的添加
1、addContent方法
此方法将添加数据到打印控制类,如果已经添加此关键字的数据,OrderPrint将自动识别,并认为是明细行的数据,同时将明细行计数加一。这样的话,对于明细数据的添加,就可以使用同样的关键字。
2.replaceContent方法
替换已经存在数据。对于主表数据的修改,必须使用此方法。
三、打印的控制
1、path属性
指定模板文件位置
2、printerName属性
指定输出的打印机名称
3、printOut方法
打印输出
4、printPreview方法
打印预览
程序引用了script5.5正则表达式,如果您电脑上缺少此组件,请从
http://www.microsoft.com/downloads/details.aspx?FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa&displaylang=en
下载
效果图:
http://progame.vip.myrice.com:81/orderprint/1.gif