您的位置:首页 > 编程语言 > PHP开发

phpExcel基本用法

2015-07-27 23:11 776 查看
PHP导出Excel比较简单的办法有:

一、直接通过PHP的header来导出Excel。

view
source

print?

01.
header(
"Content-type:application/vnd.ms-excel"
);

02.
header(
"Content-Disposition:attachment;filename=excel_data.xls"
);

03.

04.
$tx
=
'HEADER'
;

05.
echo
$tx
.
"\n\n"
;

06.
//输出内容如下:

07.
echo
"Name"
.
"\t"
;

08.
echo
"Age"
.
"\t"
; 

09.
echo
"\n"
;

10.
echo
"lilei"
.
"\t"
;

11.
echo
"25"
.
"\t"
;


二、采用Excel_XML类。

Excel_XML是一个简单的PHP导出XML格式Excel的类。

下载地址:http://code.google.com/p/php-excel/downloads/list

使用方法:

view
source

print?

01.
//
load library

02.
require
'php-excel.class.php'
;

03.

04.
//
create a simple 2-dimensional array

05.
$data
=
array
(

06.
1
=>
array
(
'Name'
,
'Surname'
),

07.
array
(
'Schwarz'
,
'Oliver'
),

08.
array
(
'Test'
,
'Peter'
)

09.
);

10.

11.
//
generate file (constructor parameters are optional)

12.
$xls
=
new
Excel_XML(
'UTF-8'
,
false,
'My
Test Sheet'
);

13.
$xls
->addArray(
$data
);

14.
$xls
->generateXML(
'my-test'
);


以上两种是比较简单的导出Excel的方法,但功能不够强大,只能满足一般的需求。

这里介绍一个功能强大的PHP导出Excel的类库——PHPExcel 。

PHPExcel支持Excel附带图片,支持Excel 2003、Excel 2007、PDF、HTML等。。。基于自由软件的OpenXML标准开发。

下载地址:1、本文附件

2、http://phpexcel.codeplex.com/

使用示例:

view
source

print?

01.
require_once
'./Classes/PHPExcel.php'
;

02.
require_once
'./Classes/PHPExcel/IOFactory.php'
;

03.
$objPHPExcel
=
new
PHPExcel();

04.
$objPHPExcel
->getProperties()->setCreator(
"Maarten
Balliauw"
)

05.
->setLastModifiedBy(
"Maarten
Balliauw"
)

06.
->setTitle(
"Office
2007 XLSX Test Document"
)

07.
->setSubject(
"Office
2007 XLSX Test Document"
)

08.
->setDescription(
"Document
for Office 2007 XLSX,generated using PHP classes."
)

09.
->setKeywords(
"office
2007 openxml php"
)

10.
->setCategory(
"Test
result file"
);

11.

12.
$objPHPExcel
->setActiveSheetIndex(0);

13.
$objRichText
=
new
PHPExcel_RichText();

14.
$objRichText
->createText(
''
);

15.
$objPayable
=
$objRichText
->createTextRun(
'PHP导出的Excel'
);

16.
$objPayable
->getFont()->setColor(
new
PHPExcel_Style_Color(
PHPExcel_Style_Color::COLOR_RED ));

17.
$objPayable
->getFont()->setBold(true);

18.
$objPayable
->getFont()->setSize(24);

19.
$objPHPExcel
->getActiveSheet()->getCell(
'B1'
)->setValue(
$objRichText
);

20.
$objPHPExcel
->getActiveSheet()->getStyle(
'B1'
)->getFont()->setBold(true); 
//
加粗

21.
$objPHPExcel
->getActiveSheet()->getStyle(
'B1'
)->getFont()->setSize(24);
//
字体大小

22.
$objPHPExcel
->getActiveSheet()->getStyle(
'B1'
)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
//
文本颜色

23.
$objPHPExcel
->getActiveSheet()->getStyle(
'A1:G1'
)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

24.
$objPHPExcel
->getActiveSheet()->getStyle(
'A1:G1'
)->getFill()->getStartColor()->setARGB(
'00FFFFE3'
); 
//
底纹

25.

26.
//
列宽

27.
//$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);

28.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'A'
)->setWidth(12);

29.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'B'
)->setWidth(18);

30.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'C'
)->setWidth(12);

31.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'D'
)->setWidth(18);

32.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'E'
)->setWidth(12);

33.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'F'
)->setWidth(18);

34.
$objPHPExcel
->getActiveSheet()->getColumnDimension(
'G'
)->setWidth(20);

35.

36.
//
行高

37.
for
(
$i
=
2;
$i
<=
17;
$i
++)

38.
{

39.
$objPHPExcel
->getActiveSheet()->getRowDimension(
$i
)->setRowHeight(22);

40.
}

41.

42.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A2'
,
'姓名'
);

43.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A3'
,
'PHP'
);

44.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A4'
,
'EXCEL'
);

45.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A5'
,
''
);

46.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A6'
,
'XXX'
);

47.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A7'
,
'V'
);

48.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A8'
,
'd'
);

49.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A9'
,
'name'
);

50.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A10'
,
'描述'
);

51.
for
(
$i
=
2;
$i
<=
16;
$i
++)

52.
{

53.
$objPHPExcel
->getActiveSheet()->getStyle(
'A'
.
$i
)->getFont()->setBold(true); 
//
加粗

54.
}

55.

56.
$objPHPExcel
->getActiveSheet()->setCellValue(
'B2'
,
'[姓名]'
);

57.
$objPHPExcel
->getActiveSheet()->setCellValue(
'B3'
,
'导出带图片的EXCEL'
);

58.
$objPHPExcel
->getActiveSheet()->setCellValue(
'B4'
,
'XXXXX'
);

59.

60.
//
为excel加图片

61.
$objDrawing
=
new
PHPExcel_Worksheet_Drawing();

62.
$objDrawing
->setName(
'Photo'
);

63.
$objDrawing
->setDescription(
'Photo'
);

64.
$objDrawing
->setPath(
'./images/PIC.jpg'
);

65.
$objDrawing
->setHeight(170);

66.
$objDrawing
->setWidth(120);

67.
$objDrawing
->setCoordinates(
'G2'
);

68.
$objDrawing
->setWorksheet(
$objPHPExcel
->getActiveSheet());

69.

70.
$objPHPExcel
->getActiveSheet()->setCellValue(
'A17'
,
'其它要求'
);

71.
$objPHPExcel
->getActiveSheet()->setCellValue(
'B17'
,
'[其它要求]'
);

72.

73.
$objPHPExcel
->getActiveSheet()->getStyle(
'A17'
)->getFont()->setBold(true);
//
加粗

74.

75.
$objPHPExcel
->setActiveSheetIndex(0);

76.
$objPHPExcel
->getActiveSheet()->setTitle(
'Excel表'
);

77.
$objWriter
=
PHPExcel_IOFactory::createWriter(
$objPHPExcel
,
'Excel5'
);

78.
$objWriter
->save(
'PHP导出Excel.xls'
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: