PHPExcel的使用案例:
来源:互联网 发布:淘宝退货没填快递单号 编辑:程序博客网 时间:2024/06/05 14:06
1、引入PHPExcel类库:
require_once '../Classes/PHPExcel.php';
2、创建一个PHPExcel对象:
$objPHPExcel = new PHPExcel();
3、设置文档的属性:
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("PHPExcel Test Document") ->setSubject("PHPExcel Test Document") ->setDescription("Test document for PHPExcel, generated using PHP classes.") ->setKeywords("office PHPExcel php") ->setCategory("Test result file");
4、給Excel表格增加数据:
$objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Hello') ->setCellValue('B2', 'world!') ->setCellValue('C1', 'Hello') ->setCellValue('D2', 'world!');解析:setActiveSheetIndex(0)表示选择当前Excel表的第一张表并为活动表。
setCellValue('A1', 'Hello')表示在A1的位置添加上“Hello”这条数据。
5、重新工作表的名称:
$objPHPExcel->getActiveSheet()->setTitle('Simple');
解析:setTitle('Simple')定义工作表的名称为:Simple
6、生成Excel文件(在服务器中):
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');$objWriter->save(str_replace('.php', '.xlsx', __FILE__));其中Excel2007也可以为Excel5。表示的是文档类型。其中Excel2007生成的文件为.xlsx后缀,Excel5为.xls后缀。
7、向浏览器输出一个文件并添加上输出的内容:
header('Content-Type: application/vnd.ms-excel');//指定为:Excel2005的格式输出header('Content-Disposition: attachment;filename="01simple.xls"');//指定文件名$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('php://output');//将内容添加到文件中并输出文件
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename="01simple.xlsx"');$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');$objWriter->save('php://output');
9、设置默认字体和大小:
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial')->setSize(10);
10、在Excel表中格式化添加时间:
//年月日$dateTimeNow = time();$objPHPExcel->getActiveSheet()->setCellValue('A9', 'Date/Time') ->setCellValue('B9', 'Date') ->setCellValue('C9', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));$objPHPExcel->getActiveSheet()->getStyle('C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);//时分秒$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Date/Time') ->setCellValue('B10', 'Time') ->setCellValue('C10', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));$objPHPExcel->getActiveSheet()->getStyle('C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4);//年月日,时分秒$objPHPExcel->getActiveSheet()->setCellValue('A11', 'Date/Time') ->setCellValue('B11', 'Date and Time') ->setCellValue('C11', PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));$objPHPExcel->getActiveSheet()->getStyle('C11')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME);
解析:getActiveSheet()表示为选中这张活动表,getStyle('C11')表示选中这张活动表的“C11”单元格,并准备修改其样式。getNumberFormat()表示得到数字的格式化类。
11、添加文字,可以设置样式:
$objRichText = new PHPExcel_RichText();$objRichText->createText('你好 ');$objPayable = $objRichText->createTextRun('你 好 吗?');$objPayable->getFont()->setBold(true);//设置“你好吗”变粗$objPayable->getFont()->setItalic(true);//设置“你好吗”为斜体$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) );//设置“你好吗”颜色$objRichText->createText(', unless specified otherwise on the invoice.');$objPHPExcel->getActiveSheet()->setCellValue('A13', 'Rich Text') ->setCellValue('C13', $objRichText);//将拼接好的文字添加到工作表中
解析:createText('你好 ')只具有拼接语句的作用,并不能将内容添加到excel中,$objPayable = $objRichText->createTextRun('你 好 吗?');$objPayable类似于选择器的作用,createTextRun与createText作用相同并具有选择器的作用,当然以后再用只需要使用$objPayable即可。getFont表示得到这个字段要对其样式进行修改。到这里我们可以发现getStyle是在已添加的单元格内修改样式,getFont则是在未添加单元格内的字体作样式的设置。注意,在拼接语句时如果需要换行可以在字符串后增加“\n”转义字符。
12、这里会总结目前为止的向单元格内添加文字方法:
getCell("C14")->setValue($objRichText2);解析:首先getCell("C14")取到“C14单元格”,然后利用setValue($str)添加单元格中的内容。
getStyle("C14")->getAlignment()->setWrapText(true);解析:设置自动换行。
13、设置单元格大小自适应:
getColumnDimension('C')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Average of both ranges:');$objPHPExcel->getActiveSheet()->setCellValue('B10', '=AVERAGE(B2:C4)');echo date('H:i:s') , " Average value of both Ranges is " , $objPHPExcel->getActiveSheet()->getCell('B10')->getCalculatedValue() , EOL;解析:首先需要使用setCellValue('B10', '=AVERAGE(B2:C4)');注意有Excel函数,然后还需要在紧接着取得单元格并使用getCalculatedValue()进行计算过程。
15、打印:设置页眉和页脚,只有打印出来才能看见效果:
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&L&G&C&HPlease treat this document as confidential!');$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N');
解析:首先需要利用:getHeaderFooter()得到页眉页脚,再利用setOddHeader或setOddFooter设置页眉页脚内容。
16、打印:向页眉中添加图片:
// Add a drawing to the header$objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing();$objDrawing->setName('PHPExcel logo');$objDrawing->setPath('./images/phpexcel_logo.gif');$objDrawing->setHeight(36);$objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT);
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
for ($i = 1; $i < 200; $i++) {$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $i);$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, 'Test value');}
$objPHPExcel->getActiveSheet()->getComment('E13')->setWidth('100pt');$objPHPExcel->getActiveSheet()->getComment('E13')->setHeight('100pt');$objPHPExcel->getActiveSheet()->getComment('E13')->setMarginLeft('150pt');$objPHPExcel->getActiveSheet()->getComment('E13')->getFillColor()->setRGB('EEEEEE');
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');$objPHPExcel->getActiveSheet()->mergeCells('A28:B28');// Just to test...$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');
21、、、、、、、、、、、、、、、待续。
阅读全文
1 0
- PHPExcel的使用案例:
- phpExcel的使用
- PHPExcel插件的使用
- phpExcel的使用
- PHPExcel库的使用
- PHPExcel 的使用
- phpExcel的基本使用
- phpexcel的使用
- PHPExcel 的使用
- phpexcel的使用
- PHPExcel库的基本使用
- PHPExcel的使用(一)
- PHPEXCEL类的导入使用
- PHPExcel类库的使用
- phpexcel的使用,tp3.2
- php/thinkphp使用PHPExcel解析表格数据,生成表格案例
- PHPExcel案例记录整理
- phpexcel使用
- php使用str_replace替换多维数组的实现代码实例
- 基于C语言的广义表的运算
- EA&UML日拱一卒-活动图::重新审视动作
- 鬼灯的冷彻 第一季 白鬼/鬼白 情侣头像 合集
- UE4 C++ 从内存数据创建动态材质
- PHPExcel的使用案例:
- Java Servlet 规范 第4章 Servlet Context
- Linux中Samba详细安装
- 基于C语言的赫夫曼编码的应用
- iOS下JS与原生OC互相调用(总结)
- Android面试的一些坑
- Linux shell报错: ** is not allowed to run sudo on **
- 自己封装的简单ThreadFactory2
- Excel VBA高效办公应用-第十七章-用户权限管理系统