phpexcel简单用法

摘要:
Php/*Php生成excel的完整实例代码。现在问:php生成excel的完整实例代码。最好解释一下如何称呼它!

<?php

/*php生成excel完整实例代码
现求:php生成excel完整实例代码
最好能说明如何调用!谢谢
java_sunhui4 | 浏览 8131 次 2014-09-24 14:50
2014-09-25 11:15
最佳答案

下载phpexcel类库 代码如下:*/
include 'PHPExcel/PHPExcel.php' ;
//include 'PHPExcel/PHPExcel/IOFactory.php';
$objPHPExcel=new PHPExcel();
//$iofactory=new IOFactory();
//获得数据 ---一般是从数据库中获得数据
$data=array(
0=>array('id'=>2013,'name'=>'张某某','age'=>21),
1=>array('id'=>201,'name'=>'EVA','age'=>21)
);
//设置excel列名
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1','编号');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1','姓名');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1','年龄');
//把数据循环写入excel中
foreach($data as $key => $value){
$key+=2;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$key,$value['id']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$key,$value['name']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$key,$value['age']);
}
//excel保存在根目录下 如要导出文件,以下改为注释代码
$objPHPExcel->getActiveSheet() -> setTitle('SetExcelName');
$objPHPExcel-> setActiveSheetIndex(0);
// $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//ob_end_clean();
header("Content-Type: application/vnd.ms-excel;");
/*header("Content-Disposition:attachment;filename=5kcrm_user_".date('Y-m-d',mktime()).".xls");*/
header("Pragma:no-cache");
header("Expires:0");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

第二种方法

vendor('PHPExcel.Classes.PHPExcel');
//创建对象
$excel = new PHPExcel();
//Excel表格式,这里简略写了8列
$letter = array('A','B','C','D','E','F','G');
//表头数组
$tableheader = array(a,b,c,d,e,f,g);
//定义导出的文件名
$filename = date('Y-m-d',time());
//date('Y-m-d',$sdate).$lesson.$lid;
//填充表头信息
for($i = 0;$i < count($tableheader);$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
//表格数组
$data = array(
array('1','小王','男'),
array('2','小李','男'),
array('3','小张','女'),
array('4','小赵','女')
);
//填充表格信息
for ($i = 2;$i <= count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=>$value) {
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;
}
}
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header("Content-Disposition:attachment;filename='$filename.xls'");
header("Content-Transfer-Encoding:binary");
$write->save('php://output');

 //转换数组格式 

for($i=0;$i <count($data);$i++){

$dd[$i]=array($data[$i]['id'],$data[$i]['member_mark'],$data[$i]['name'],$data[$i]['password'],$data[$i]['mobile'],$data[$i]['money'],$data[$i]['rank'],$data[$i]['add_time'],$data[$i]['update_time']);
}

 

免责声明:文章转载自《phpexcel简单用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇4wpa_supplicant适配层 详解python解析库之 XPath下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

阿里 EasyExcel 使用及避坑

github地址:https://github.com/alibaba/easyexcel 原本在项目中使用EasyPoi读取excel,后来为了统一技术方案,改用阿里的EasyExcel。EasyExcel和EasyPoi有一定的相似之处。 EasyExcel和EasyPoi效率对比: 因为数据量少,从效率上看几乎没有差别,EasyExcel略胜一筹...

Excel简单编程学习笔记

多少年来,我都一直认为Excel就是一个表格工具,用来记一记数据内容即可,直到后来开发同事用Excel做出了很花哨的动态报告,可以从数据库提取数据,自动填充排版数据,可以自动计算绘图,自动套用模版格式,自动生成pdf…  太可怕了。 我目前无法达到这样的水平,只能从最基本的数据提取开始。 一. 开启编程模式 1. Excel版本建议在2010以上,目前我使...

.Net Core应用框架Util介绍(五)

上篇简要介绍了Util在Angular Ts方面的封装情况,本文介绍Angular封装的另一个部分,即Html的封装。 标准组件与业务组件 对于管理后台这样的表单系统,你通常会使用Angular Material或Ng-Zorro这样的UI组件库,它们提供了标准化的UI组件。 标准组件将Ts封装起来,以特定标签和属性的方式提供使用。 业务组件使用标准组件拼...

内核级HOOK的几种实现与应用

实现内核级 HOOK 对于拦截、分析、跟踪系统内核起着致关重要的作用。实现的方法不同意味着应用侧重点的不同。如想要拦截 NATIVE API 那么可能常用的就是 HOOK SERVICE TABLE 的方法。如果要分析一些系统调用,那么可能想到用 HOOK INT 2E 中断来实现。如果想要拦截或跟踪其他内核 DRIVER 的调用,那么就要用到HOOK ...

Android自定义控件(二)

这一篇主要来讲一下自定义控件中的自定义viewgroup,我们以项目中最常用的下拉刷新和加载更多组件为例 简单介绍一下自定义viewgroup时应该怎么做。 分析:下拉刷新和加载更多的原理和步骤 自定义一个viewgroup,将headerview、contentview和footerview从上到下依次布局,然后在初始化的时候 通过Scrooller滚动...

8000401a错误解决方式(Excel)

前一阵子做开发须要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,測试无不论什么问题,但是到部署的时候出现了一些令人非常头痛的问题,老是会出现比如: 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现下面错误...