OrderPrint - 单据打印的解决之道(提供全部源码)

progame 2004-02-10 02:38:08

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
...全文
118 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧