php生成快递面单
最后生成的面单类似于下边的样子,其中的条形码是使用Barcodegen类库生成的(可以看我的上一篇博),随便生成了一下,对应的其他快递的需要再研究下

首先需要先使用excel制作一个类似于上边的快递面单,之后后台对应的订单的数据替换对应的位置就行了,下边我贴一下自己写的一个方法(主要是将图片放到对应的单元格中的):
首先需要先引入对应的库类(PhpExcel):

public function test(){//图片处理类,这个才是图片导出的关键哦require_once (FCPATH.'/aui/libraries/PHPExcel/Worksheet/Drawing.php');$this->load->library('PHPExcel/Style/Alignment');//PHPExcel\Style$objDrawing = new PHPExcel_Worksheet_Drawing();$this->phpexcel->createSheet(0);$this->phpexcel->setActiveSheetIndex(0);$currentSheet = $this->phpexcel->getActiveSheet();// 水平居中(位置很重要,建议在最初始位置,这里我举例,ABCDEFG,可以按照自己的需求定义!~)$this->phpexcel->setActiveSheetIndex(0)->getStyle('B11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);// 设置个表格宽度(这个一定要设置哦,不然图片会大出单元格的)//$this->phpexcel->getActiveSheet()->getColumnDimension('B')->setWidth(400);//设置第一行标题// $currentSheet->setCellValue('B11', "条形码");//设置单元格高度,这个是重点哦//$currentSheet->getRowDimension(11)->setRowHeight(60);$pic = creat_barcode('ceshi');//开始设置图片啦~~$objDrawing->setPath(FCPATH.'code/code63048.png');// 设置图片宽度高度//$objDrawing->setHeight(80);//照片高度//$objDrawing->setWidth(400); //照片宽度/*设置图片要插入的单元格*/$objDrawing->setCoordinates('B11');// 图片偏移距离$objDrawing->setOffsetX(12);$objDrawing->setOffsetY(12);$objDrawing->setWorksheet($this->phpexcel->getActiveSheet());//导出excel到表格$sheetWrite = IOFactory::createWriter($this->phpexcel, 'Excel5');header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="快递.xls"');header('Cache-Control: max-age=0');$sheetWrite->save('php://output');}

下来是生成快递面单的方法

eg:

/**
* miandan生成面单的方法
* $data array 订单数据
* $barcode string 条形码地址
**/
function miandan($data, $barcode)
{$filePath = './miandan.xls';$objPHPExcel = IOFactory::load($filePath);$num = 1;$goods = "西红柿";$raw_data = $objPHPExcel->setActiveSheetIndex(0)->toArray();foreach($raw_data as $key => $value){foreach($value as $k => $v){if($v == "{% t_username %}"){$value[$k] = str_replace('{% t_username %}', $data['name'], $v);}elseif($v == "{% t_phone %}"){$value[$k] = str_replace('{% t_phone %}', $data['phone'], $v);}else if($v == "{% t_address %}"){$value[$k] = str_replace('{% t_address %}', dr_linkagepos('address', $data['city'], '', '').$data['address'], $v);}elseif($v == "{% f_username %}"){$value[$k] = str_replace('{% f_username %}', 'test', $v);}elseif($v == "{% f_phone %}"){$value[$k] = str_replace('{% f_phone %}', '18888888888', $v);}elseif($v == "{% f_address %}"){$value[$k] = str_replace('{% f_address %}', '山西省-太原市-晋源区', $v);}elseif ($v == "{% f_code %}"){$value[$k] = str_replace('{% f_code %}', $data['kuaidiid'], $v);}elseif ($v == "{% num %}"){$value[$k] = str_replace('{% num %}', "【总计:{$num}件】$shops", $v);}}$miandan_data[$key] = $value;}//添加图片条形码$barcode = creat_barcode($data['kuaidiid']);require_once (FCPATH.'/aui/libraries/PHPExcel/Worksheet/Drawing.php');$this->load->library('PHPExcel/Style/Alignment');$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setPath($barcode);$objPHPExcel->setActiveSheetIndex(0)->getStyle('B11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objDrawing->setCoordinates('B11');$objDrawing->setHeight(50);//照片高度//$objDrawing->setWidth(180);//$currentSheet->getRowDimension(2)->setRowHeight(60);// 图片偏移距离$objDrawing->setOffsetX(30);$objDrawing->setOffsetY(2);$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());$objDrawing1 = new PHPExcel_Worksheet_Drawing();$objDrawing1->setPath($barcode);$objPHPExcel->setActiveSheetIndex(0)->getStyle('C17')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objDrawing1->setCoordinates('C17');$objDrawing1->setHeight(35);//照片高度//$objDrawing->setWidth(180);//$currentSheet->getRowDimension(2)->setRowHeight(60);// 图片偏移距离$objDrawing1->setOffsetX(30);$objDrawing1->setOffsetY(5);$objDrawing1->setWorksheet($objPHPExcel->getActiveSheet());$objPHPExcel->setActiveSheetIndex(0)->fromArray($miandan_data, null, "A1");$objWriter = IOFactory::createWriter($objPHPExcel, 'Excel5');header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="快递'.$data['order_id'].'.xls"');header('Cache-Control: max-age=0');$objWriter->save('php://output');
}

下来贴一下面单的样子:

PHPExcel下载地址:
http://www.php.cn/xiazai/leiku/1491

CI框架使用PHPExcel生成快递面单相关推荐

  1. CI框架整合PHPExcel方法

    整合方法 1: 下载 PHPExcel -1.8 2:将下载完成的 Classes中的PHPExcel 文件夹 和 PHPexcel.php 文件放在项目中的 libraries 里面: 3:修改ap ...

  2. CI框架教程5——整合PHPExcel库应用

    本文讲的是解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍和excel的写入与生成操作,以及当写入一串数字字符串是变成科学计数法的解决方法. 1.CI框架整合PHPExce ...

  3. CI框架表单提交数据接收乱码

    2019独角兽企业重金招聘Python工程师标准>>> 下午再用CI (2.25) 提交表单发现post过来的数据是乱码.文档编码,浏览器解析编码都是GBK. request显示是正 ...

  4. 根据快递单号,生成快递单号

    /*** 生成快递单号* * @param str* 第一个快递单号* @param w* 递增的个数,或递减的个数* @param status* 判断是递增还是递减 1 = 递增 else = 递 ...

  5. CI框架浅析(全篇)

    业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包也就2M ...

  6. 【CI3.1】CI框架简单使用方法

    CI框架简单使用方法 1.回忆MVC1.1.M:模型,提供数据,保存数据1.2.V:视图,只负责显示,表单form1.3.C:控制器,协调模型和视图1.4.action:动作,是控制器中的方法,用于被 ...

  7. php ci cookie使用,CI框架实现cookie登陆的方法详解

    本文实例讲述了CI框架实现cookie登陆的方法.分享给大家供大家参考,具体如下: 第一步:login.php //登陆方法 public function login(){ //如果用户名和密码为空 ...

  8. knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案

    knife4j knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量, ...

  9. PHP CI框架如何去掉 sql 里的反引号

    在使用CI框架的时候, 经常的Active Record 类,这时候会出现一个问题 使用Active Record 类组成的sql 中,为了防止sql注入,会自动的在表名,字段名 自动添加反引号 当然 ...

  10. PHP,mysql,Linux,CI框架学习总结

    PHP,mysql,CI框架学习总结 PHP标记 1.Xml风格<?php ?> 2.简短风格 <? ?> 需在php.ini中开启short_open_tag 3.asp风格 ...

最新文章

  1. “拒绝在 iPad 上运行 Xcode!”
  2. h3c交换机配置远程管理_高手给说下H3C交换机如何配置telnet远程登录
  3. ruby中的复制 dup clone
  4. Win32 程序运行原理
  5. VS各种工程文件说明
  6. 不得了!这个 AI 让企业家、技术人员、投资人同台“互怼”
  7. 深入理解继承知识(下)
  8. Julia: Array元素过滤、元素替代、元素删除等酸爽操作
  9. Java链表-链表反转
  10. 面向AMD64的文件xxx与项目的目标平台x86不兼容
  11. 解锁小众网站 站在巨人的肩膀上
  12. 手游服务器账号,手游服务器登录流程
  13. css面试精讲之防止高度坍塌的4种方式
  14. 江苏省普通话水平测试计算机评分细则,江苏省普通话水平测试评分细则(试行).doc...
  15. 商场百货数字化会员系统引流方式 购物中心线上会员拉新
  16. 2017青岛网络赛 C - The Dominator of Strings(AC自动机)
  17. Android读书笔记
  18. 如何打开计算机无线功能灰色,计算机没有wifi,仅显示宽带连接. 右键单击灰色的无线网络连接图...
  19. 【微信小程序】本地服务页面案例实现
  20. 吕文翰 php,自己动手写一个 iOS 网络请求库(三)——降低耦合

热门文章

  1. 遭遇Trojan.PSW.ZhengTu,Trojan.PSW.OnlineGames,Trojan.PSW.ZhuXian.b等
  2. 2014年3月CCF软考试题
  3. 从零开始的MySQL数据库三部曲(二、MySQL数据库的创库创表增删改查篇)
  4. 多变量微积分笔记(2)——多元函数及其微分
  5. 通过C2progv1.7进行dsp28069串口下载程序
  6. js中的生成器函数Generator
  7. html的android开发工具,只会html也可以做安卓app(附实例)
  8. 阿里云云计算ACP学习(八)---网络与VPC
  9. 怎么提取图片上的文字?这三个小妙招,让你事半功倍!
  10. python图片提取文字