PHP导出Excel表格

PHP

在我们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 ($data as $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"; 输出的时候

来源:PHP导出Excel表格

发表评论

电子邮件地址不会被公开。 必填项已用*标注