转 PHP导出Excel表格

来源:互联网 发布:windows模板PPT 编辑:程序博客网 时间:2024/04/28 11:17

转自http://www.leixuesong.cn/1199

在我们PHP开发的工作中,PHP导出Excel报表和下载可能是网站系统比较常见的功能之一。Excel报表可以方便用来公司财务对账、数据的处理和统计分析。下面就讲解下PHP导出Excel表格的常用方法。

1、通过header头部使用html标签的输出,可以使用css设置Excel表格的样式,合并单元格等,但是其他没有数据单元格就没有边框是空白的。

1
2
3
4
5
6
7
header("Content-type:application/vnd.ms-excel");
header('Content-Disposition: attachment; filename=leixuesong.xls');
header('Pragma: no-cache');
header('Expires: 0');
$detail='<table border="1"><tr><th>month</th><th>Savings</th></tr><tr><td>January</td><td>'.time().'</td></tr><tr><td>February</td><td>$80</td></tr></table>';
echo $detail;
exit();

2、通过header头部直接输出字符串,只能单元格一一对应,输出标准的Excel表格。

1
2
3
4
5
6
7
8
9
10
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename=leixuesong.xls');
header('Pragma: no-cache');
header('Expires: 0');
$title = array('编号','姓名','性别','年龄','身高','体重');
echo iconv('utf-8','gbk',implode("\t",$title)),"\n";
$data = array(array(1,'雷雪松','男','22',183,72),array(2,'raykaeso','女','18',170,50),array(3,'leixuesong','男','14',178,68));
foreach ($dataas$value){
   echo iconv('utf-8','gbk',implode("\t",$value)),"\n";
}

3、PHPExcel类是一个开源的Excel,PHPExcel类读取Excel xsl文件和生成导出Excel xsl文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//引入PHPExcel类
require_once '../PHPExcel/PHPExcel.php';
require_once '../PHPExcel/PHPExcel/IOFactory.php';
require_once '../PHPExcel/PHPExcel/Reader/Excel5.php';
//创建一个excel
$objPHPExcel = new PHPExcel();
//设置当前的sheet
$objPHPExcel->setActiveSheetIndex(0);
//设置sheet的表头
$objPHPExcel->getActiveSheet()->setTitle(’Simple’);
//设置单元格的值
$objPHPExcel->getActiveSheet()->setCellValue(’A1′, ‘String’);
$objPHPExcel->getActiveSheet()->setCellValue(’A2′,12);
$objPHPExcel->getActiveSheet()->setCellValue(’A3′,true);
$objPHPExcel->getActiveSheet()->setCellValue(’C5′,=SUM(C2:C4));
$objPHPExcel->getActiveSheet()->setCellValue(’B8′,=MIN(B2:C5));
//合并单元格
$objPHPExcel->getActiveSheet()->mergeCells(’A18:E22′);
//拆分单元格
$objPHPExcel->getActiveSheet()->unmergeCells(’A28:B28′);

解决php导出excel表格数字变成科学计数的方法:

1
2
3
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment; filename=$name");
echo "=\"0000111111\""."\t"; 输出的时候


0 0
原创粉丝点击