thinkphp中phpexcel的使用
1.下载phpexcel文件(之前提到过!)
2.下载后将文件放到:
3.在控制器中引用:
4.部分实现的代码:
public function OutputExcel($data) //导入订单
{ vendor("PHPExcel.PHPExcel"); // Create new PHPExcel object
$objPHPExcel = new \PHPExcel();
// Set properties
$objPHPExcel->getProperties()->setCreator("ctos")
->setLastModifiedBy("ctos")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file"); //set width
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(13);
$objPHPExcel->getActiveSheet()->getColumnDimension('Z')->setWidth(13); //设置行高度 // $objPHPExcel->getActiveSheet()->getRowDimension()->setRowHeight(25);
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(25);
$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(45.75); //$objPHPExcel->getActiveSheet()->mergeCells('A1:M1');
//set font size bold
//$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(11);
$objPHPExcel->getActiveSheet()->getStyle('A1:Z1')->getFont()->setSize(11);
//$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getFont()->setSize(12);
$objPHPExcel->getActiveSheet()->getStyle('A1:Z1')->getFont()->setName('等线');
$objPHPExcel->getActiveSheet()->getStyle('A1:Z1')->getFont()->setBold(true);
//$objPHPExcel->getActiveSheet()->getStyle('A1:Z1')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
/*$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('宋体');
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName('宋体');
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getFont()->getColor()->setARGB('FFffffff');
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN); //$objAlignA5 = $objStyleA5->getAlignment(); $objPHPExcel->getActiveSheet()->getStyle('A1:M1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::VERTICAL_CENTER); //$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//设置水平居中 $objPHPExcel->getActiveSheet()->getDefaultStyle('')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A2:M2')->getFill()->getStartColor()->setARGB("165,48,15"); */
//$objPHPExcel->getActiveSheet()->getStyle('A1:H5')->getFill()->getStartColor()->setARGB('00ff99cc'); // 将背景设置为浅粉色
// set table header content
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '收到订单 ')
->setCellValue('B1', '签单日期')
->setCellValue('C1', '签单公司')
->setCellValue('D1', '签单人员')
->setCellValue('E1', '渠道经理')
->setCellValue('F1', '业务行政所属')
->setCellValue('G1', '业务行政')
->setCellValue('H1', '持牌人')
->setCellValue('I1', '销售公司')
->setCellValue('J1', '销售顾问')
->setCellValue('K1', '保险公司')
->setCellValue('L1', '产品名称')
->setCellValue('M1', '年期')
->setCellValue('N1', '缴费方式')
->setCellValue('O1', '币种')
->setCellValue('P1', '保费')
->setCellValue('Q1', '保额')
->setCellValue('R1', '投保人(中文)')
->setCellValue('S1', '投保人(拼音)')
->setCellValue('T1', '受保人(中文)')
->setCellValue('U1', '受保人(拼音)')
->setCellValue('V1', '保单号码')
->setCellValue('W1', '生效日期')
->setCellValue('X1', '首期保费日')
->setCellValue('Y1', '预计冷静期截止日')
->setCellValue('Z1', '保单状态')
;
// Miscellaneous glyphs, UTF-8
for ($i = 0; $i < count($data); $i++) {
switch($data[$i]['status']){
case 0:
$s = "批核中";
break;
case 1:
$s = "保单生效";
break;
case 2:
$s = "拒保/退保";
break;
case 3:
$s = "Pending-处理中";
break;
case 4:
$s = "Pending-需补资料";
break;
default:
$s = "Pending-资料需审核";
} $splwhere['id'] = array('eq',$data[$i]['sales_id']);
$sale = \Model\SalesModel::get($splwhere);
$where['id'] = array('eq',$sale['admin_id']);
$admin = \Model\AdminModel::get($where);
$where1['admin_id'] = array('eq',$admin['id']);
$company = \Model\CompanyModel::get($where1);
$customer = M('Customer')->where(array('id'=>$data[$i]['customer_id']))->find(); $objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($i + 2), $data[$i]['deliver_date']);
$objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($i + 2), date('Y-m-d',strtotime($data[$i]['sold_date'])));
$objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($i + 2), $data[$i]['suoshu']);
$objPHPExcel->getActiveSheet(0)->setCellValue('D' . ($i + 2), $data[$i]['receiver']);
$objPHPExcel->getActiveSheet(0)->setCellValue('E' . ($i + 2), $data[$i]['sale_jingli']);
$objPHPExcel->getActiveSheet(0)->setCellValue('F' . ($i + 2), $company['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('G' . ($i + 2), $admin['username']);
$objPHPExcel->getActiveSheet(0)->setCellValue('H' . ($i + 2), $data[$i]['chipai']);
$objPHPExcel->getActiveSheet(0)->setCellValue('I' . ($i + 2), $data[$i]['sales']['company']['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('J' . ($i + 2), $data[$i]['sales']['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('K' . ($i + 2), $data[$i]['subproduct']['product']['insurance_company']['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('L' . ($i + 2), $data[$i]['subproduct']['product']['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('M' . ($i + 2), $data[$i]['subproduct']['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('N' . ($i + 2), $data[$i]['payment_method']);
$objPHPExcel->getActiveSheet(0)->setCellValue('O' . ($i + 2), '美元');
$objPHPExcel->getActiveSheet(0)->setCellValue('P'.($i+2), $data[$i]['premium_usd']);
$objPHPExcel->getActiveSheet(0)->setCellValue('Q'.($i+2), $data[$i]['limit_usd']);
$objPHPExcel->getActiveSheet(0)->setCellValue('R'.($i+2), $data[$i]['customer_name']?$data[$i]['customer_name']:$customer['name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('S'.($i+2), $data[$i]['customer_name_en']);
$objPHPExcel->getActiveSheet(0)->setCellValue('T'.($i+2), $data[$i]['policy_name_cn']);
$objPHPExcel->getActiveSheet(0)->setCellValue('U'.($i+2), $data[$i]['policy_name_en']);
$objPHPExcel->getActiveSheet(0)->setCellValue('V'.($i+2), $data[$i]['contract_code']);
$objPHPExcel->getActiveSheet(0)->setCellValue('W'.($i+2), $data[$i]['shengxiao']);
$objPHPExcel->getActiveSheet(0)->setCellValue('X'.($i+2), $data[$i]['begin_date']);
$objPHPExcel->getActiveSheet(0)->setCellValue('Y'.($i+2), $data[$i]['lengjing']);
$objPHPExcel->getActiveSheet(0)->setCellValue('Z'.($i+2), $s); //$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 2) . ':M' . ($i + 3))->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
//$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 2) . ':M' . ($i + 3))->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getRowDimension($i + 2)->setRowHeight(20);
} // sheet命名
$objPHPExcel->getActiveSheet()->setTitle('销售记录表'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0); // excel头参数
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="销售记录表(' . date('Ymd-His') . ').xls"'); //日期为文件名后缀
header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel5为xls格式,excel2007为xlsx格式 $objWriter->save('php://output');
}
5.测试。应用。
thinkphp中phpexcel的使用的更多相关文章
- thinkPHP中phpexcel的导出功能
public function wExcel() { vendor("PHPExcel.PHPExcel"); // Create new PHPExcel object $obj ...
- thinkphp中使用PHPEXCEL导出数据
thinkphp中导出二维数组到Excel 1.解决时间长度导致EXCEL出现###问题 2.解决长数值型 带来的科学记数法导出问题 订单号不再变为科学记数法 而是直接字符串类型 代码如下: < ...
- PHPEXCEL在thinkphp中封装成类使用
PHPEXCEL在thinkphp中封装成类使用 标签: phpexcel导出导入thinkphp -- : 435人阅读 评论() 收藏 举报 分类: php() 版权声明:本文为博主原创文章,未经 ...
- ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
这篇文章主要介绍了ThinkPHP使用PHPExcel实现Excel数据导入导出,非常实用的功能,需要的朋友可以参考下 本文所述实例是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方 ...
- thinkphp中如何使用phpspreadsheet插件
thinkphp中如何使用phpspreadsheet插件 一.总结 一句话总结:多百度,百度什么都有 1.thinkphp中用composer安装的插件的命名空间是什么? use PhpOffice ...
- thinkphp中composer方式安装的插件如何使用
thinkphp中composer方式安装的插件如何使用 一.总结 一句话总结:任何东西都是可以百度或者google搜到的,要自己先想怎么解决,解决不出来迅速百度,不要自己臆断 1.在tp5框架的什么 ...
- thinkphp操作phpexcel问题
一.thinkphp引入PHPExcel到/Thinkphp/Library/Vendor/ 二.在控制器中引用 public function get_detail() { Vendor(" ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- ThinkPHP中疑难笔记
不但要记住核心的东西, 还要记住 相关的 东西: 如php cli的版本是 5.6.14 bulit: sep 30, 2015 tp中, 通常说的系统就是框架; 项目就是 "应用程序&qu ...
随机推荐
- 转:函数指针数组的妙用(I)
转自:http://blog.sina.com.cn/s/blog_4c78b35f010008hi.html 笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* ...
- Linode之使用UE实现SSH连接
在Linode上建立了节点后,选择对应的操作系统(我选用的是Ubuntu 12.04 LTS),然后启动就可以.详细能够參见该文(https://library.linode.com/getting- ...
- ulipad python相关设置
1)在ulipad下编写的python raw_input/input没有办法正确输出?(获取用户输入) 菜单栏->Python->设置参数->Parameters 处填入 -u
- C#:转换类型(待补充)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyCo ...
- NS3网络仿真(6): 总线型网络
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载.但请保留作者信息 在NS3提供的第一个演示样例first.py中,模拟了一个点对点的网络,接下来的一个演示样例代码模 ...
- XML文件标签名一致,而属性值不同,如何遍历取值写法 摘录
<EssentialFunctions> <Qualification description="We Offer" source="AdDe ...
- LDA与QDA
作者:桂. 时间:2017-05-23 06:37:31 链接:http://www.cnblogs.com/xingshansi/p/6892317.html 前言 仍然是python库函数sci ...
- svn add xxx.txt 提示A (bin) xxx.txt
[root@NGINX-APACHE-SVN iptables]# svn ci -m "add iptables.txt" Adding (bin) iptables/iptab ...
- win32环境下显示中文
//编码转换 //#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // string title = "成绩"; // GBK2UTF8 ...
- 【计算机网络】IP分类
A类IP地址 A类IP地址:用可变的7位(bit)来标识网络号,可变的24位标识主机号,最前面一位为"0",即A类地址的第一段取值介于1-126之间.A类地址通常为大型网络而提供, ...