GoldPrinter金质打印

GoldPrinter(金质打印),这个打印的第三方插件很方便,可以直接利用excel模版套打,本人接触也不深,仅仅适合新手参考,本人也是在GoldPrinter提供的源代码参考后开发的。

具体顺序如下:

1、先画好excel表格模版

2、写代码给模版的单元格赋值

3、程序打印

好了,顺序基本就是这样了,做的是一个很简单的打印的例子,业务情况是这样的,一次性打印多个订单,一个订单对应多个商品,最后打印出三联单,打印如下图

好了,打印结果出来了,直接上代码。

 

private void button1_Click(object sender, EventArgs e)
        {
           //获取数据集合
            lt = getDelivery.GetDeliveryInfos(delivery_sn, order_sn, status);
            if (lt.Count < 1)
            {
                MessageBox.Show("当前条件没有数据", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                for (int i = 0; i < lt.Count; i++)
                {
                    delivery dv = lt[i];
                    GoldPrinter.ExcelAccess excel = new GoldPrinter.ExcelAccess();
                    string strFileName = "送货单.xlt";            //模板文件名
                    string strExcelTemplateFile = System.AppDomain.CurrentDomain.BaseDirectory + "template//" + strFileName;
                    excel.Open(strExcelTemplateFile);                                //用模板文件
                    excel.IsVisibledExcel = true;
                    excel.SetCellText(3, "D", dv.customer_name);
                    excel.SetCellText(3, "H", dv.mobile);
                    excel.SetCellText(3, "K", dv.delivery_sn);
                    excel.SetCellText(4, "D", dv.address);
                    excel.SetCellText(4, "H", dv.order_sn);
                    excel.SetCellText(4, "K", dv.delivery_date);
                    List<good> lt_good = dv.goodList;
                    for (int j = 0; j < (lt_good.Count > 10 ? 10 : lt_good.Count); j++)
                    {
                        excel.SetCellText(6 + j, "B", (1 + j).ToString());
                        excel.SetCellText(6 + j, "C", lt_good[j].name);
                        excel.SetCellText(6 + j, "F", "");//规格
                        excel.SetCellText(6 + j, "G", "");//单位
                        excel.SetCellText(6 + j, "H", lt_good[j].number.ToString());
                        excel.SetCellText(6 + j, "I", lt_good[j].price.ToString("0.00"));
                        excel.SetCellText(6 + j, "J", lt_good[j].totalmoney.ToString("0.00"));
                        excel.SetCellText(6 + j, "K", "");//备注
                    }
                    string upperMoney = GoldPrinter.ChineseNum.GetUpperMoney(Double.Parse(excel.GetCellText(16, "J")));
                    excel.SetCellText(16, "E", upperMoney);
                    excel.PrintPreview();
                    excel.Close();                    //关闭并释放
                    Thread.Sleep(500);
                }
            }
        }    
View Code

以上是预览打印,如果需要直接打印只需把excel.PrintPreview()直接改成excel.Print()即可。其中涉及到两个DLL,具体看附件

 DLL包

GoldPrinter源代码

转载于:https://www.cnblogs.com/zhoutuan/p/4891271.html

更多商业源程序:www.bzcode.net 本程序为通用打印程序,单据、会计凭证、发票清单、报表、任意复杂表格、合并表格如工矿企业合同都可以由系统提供的几个默认打印对象组合打印。 DataGrid、DataTable、ListView、MSHFlexGrid等二维形式或二维数组全部可以打印。源码二次开发,通打天下报表。 后期版本将陆续提供XML描述、SQL数据源的打印,并用管理器管理任意多个网格、文本对象、图象等,用户可以随意定义。 主要功能: 打印、预览,可以调整打印页面设置、打印机设置、显示打印预览对话框 主标题、副标题、页顶、网格头、多层表头(网格标题)、网格主体(明细)、网格底、页底等打印对象 可以指定每个对象是否每页重复打印 超宽自动压缩,可以调整列宽、行高、合并方式 分组合并报表,合并方式还可以选择任意合并、按行、按列合并等 可以调整套打 可以每页都显示当前页小计 可以为每页指定打印行数,默认自适应 可以打印装订线,分左装订和上装订,随意选择 打印有效区域矩阵,以在开发中参照 可以指定打印边框,分单边框,加粗单边框、双边框、加粗双边框等等 分页处理、可编程分栏处理 背景颜色、图片 能够生成Excel文件、Excel打印预览、Excel操作。 自定制模板打印,非常灵活。完成各种打印、套打、报表、图表分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值