为方便,之前使用csv方式来导出xls文档。现在需求改了,要导出待有合并单元格形式展示的文档。这次使用 phpexcel来生成,并设置单元格的格式,如宽度、居中、数字格式等。

基本步骤为:加载PHPExcel.php文件,并实例化PHPExcel类,写入数据并设置单元格的格式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
include './Classes/PHPExcel.class.php'//引入PHPExcel类所在的文件,根据具体路径修改
$phpexcel=new PHPExcel();
$phpexcel->setActiveSheetIndex(0);//设置活动sheet
  
$objActSheet $phpexcel->getActiveSheet();//获取当前活动sheet对象
  
//简单输出几个数据,真实环境中需要遍历循环输出的数据
$objActSheet->setCellValue('A1','单号')->mergeCells('A1:A2'); //合并单元格
$objActSheet->setCellValue('B1','出行人')->mergeCells('B1:D1');//合并单元格
$objActSheet->setCellValue('B2','姓名');
$objActSheet->setCellValue('C2','年龄');
$objActSheet->setCellValue('D2','性别');
$objActSheet->setCellValue('E1','时间')->mergeCells('E1:E2');//合并单元格
  
$objActSheet->setCellValue('A3','201512010001');
$objActSheet->setCellValue('B3','小张');
$objActSheet->setCellValue('C3','28');
$objActSheet->setCellValue('D3','男');
$objActSheet->setCellValue('E3','2015-12-01');
  
$objActSheet->setCellValue('A4','201512010002');
$objActSheet->setCellValue('B4','小妹');
$objActSheet->setCellValue('C4','24');
$objActSheet->setCellValue('D4','女');
$objActSheet->setCellValue('E4','2015-12-02');
  
$objStyleA1 $objActSheet->getStyle('A1');
//设置单元格内容的数字格式,原始内容全部显示出来
$objStyleA1 ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//设置水平居中,垂直居中
$objStyleA1->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//从指定的单元格复制样式信息.
$objActSheet->duplicateStyle($objStyleA1'A1:E4');
//设置单元格的宽度
$objActSheet->getColumnDimension('A')->setWidth(25);
$objActSheet->getColumnDimension('A')->setWidth(10);
$objActSheet->getColumnDimension('A')->setWidth(10);
$objActSheet->getColumnDimension('A')->setWidth(10);
$objActSheet->getColumnDimension('A')->setWidth(16);
  
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="demo.xls"');
header("Content-Transfer-Encoding: binary");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$objWriter = PHPExcel_IOFactory::createWriter($phpexcel'Excel5');
$objWriter->save('php://output');



相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!