PHPExcel学习记录(一)

来源:互联网 发布:淘宝没有自然流量 编辑:程序博客网 时间:2024/06/05 00:55
<?phperror_reporting ( E_ALL );ini_set ( 'display_errors', TRUE );ini_set ( 'display_startup_errors', TRUE );date_default_timezone_set ( 'Europe/London' );define ( 'EOL', (PHP_SAPI == 'cli') ? PHP_EOL : '<br />' );/** * 导入 PHPExcel */require_once dirname ( __FILE__ ) . '/PHPExcel/Classes/PHPExcel.php';/* * 生成 PHPExcel对象 */echo date ( 'H:i:s' ), " 新建PHPExcel对象", EOL;$objPHPExcel = new PHPExcel ();/* * 设置生成表格的属性 */echo date ( 'H:i:s' ), " 设置文档属性", EOL;$objPHPExcel->getProperties ()            ->setCreator ( "作者lyp" )    //设置作者            ->setLastModifiedBy ( "最终修改lyp" ) //设置最后修改者            ->setTitle ( "标题:PHPExcel测试文件" )  //设置标题            ->setSubject ( "主题:PHPExcel测试文件" ) //设置主题            ->setDescription ( "PHPExcel测试文档, 使用PHP生成类." ) //设置备注(描述)            ->setKeywords ( "office PHPExcel php" ) //设置标记(关键字??)            ->setCategory ( "类别:测试文件" ); //设置类别echo date('H:i:s') , " 添加一些数据" , EOL;$objPHPExcel->setActiveSheetIndex(0)//操作第一个工作表            ->setCellValue('A1', 'Hello')            ->setCellValue('B1', 'world!')            ->setCellValue('C2', 'Hello')            ->setCellValue('D2', 'world!')            ->setCellValue('A2', '添加的数据');// 各种符号, UTF-8$objPHPExcel->setActiveSheetIndex(0) //操作第一个工作表            ->setCellValue('A4', 'Miscellaneous glyphs')            ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');//$objPHPExcel->getActiveSheet() 关联了当前工作表  $objPHPExcel->setActiveSheetIndex(0)$objPHPExcel->getActiveSheet()->setCellValue('A8',"Hello\nWorld");$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); //设置行高  第八行 自动适应行高$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); //设置对齐方式  单元格内换行 不启用 Hello\nWorld 换行符不会生生效$value = "-ValueA\n-Value B\n-Value C";$objPHPExcel->getActiveSheet()->setCellValue('A10', $value);$objPHPExcel->getActiveSheet()->getRowDimension(10)->setRowHeight(-1);$objPHPExcel->getActiveSheet()->getStyle('A10')->getAlignment()->setWrapText(true);$objPHPExcel->getActiveSheet()->getStyle('A10')->setQuotePrefix(true);//为字符串最前添加了一个单引号,数字却没有(我的实验显示这样)// 重命名工作表echo date('H:i:s') , " 重命名工作表" , EOL;$objPHPExcel->getActiveSheet()->setTitle('newsheet');// 设置活动表的下标为第一个sheet, Excel打开时,会把这个工作表首先展示$objPHPExcel->setActiveSheetIndex(0);//新建工作表echo date('H:i:s') , " 新建一个工作表" , EOL;$objWorksheet1 = $objPHPExcel->createSheet();$objWorksheet1->setTitle('anothersheet');$objWorksheet1->setCellValue('A1','another sheet');// 保存Excel 2007文件echo date('H:i:s') , " 设定Excel2007格式" , EOL;$callStartTime = microtime(true);$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//设定写入的Excel格式$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); //保存文件到指定目录$callEndTime = microtime(true);$callTime = $callEndTime - $callStartTime;echo date('H:i:s') , " 文件写入 " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;echo '写入耗时' , sprintf('%.4f',$callTime) , " seconds" , EOL;// Echo memory usageecho date('H:i:s') , ' 当前使用内存: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;// Save Excel 95 fileecho date('H:i:s') , " 写入Excel5 格式" , EOL;$callStartTime = microtime(true);$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save(str_replace('.php', '.xls', __FILE__));$callEndTime = microtime(true);$callTime = $callEndTime - $callStartTime;echo date('H:i:s') , " 文件写入" , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;echo '写入耗时 ' , sprintf('%.4f',$callTime) , " seconds" , EOL;// Echo memory usageecho date('H:i:s') , ' 当前使用内存: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;// Echo memory peak usageecho date('H:i:s') , " 峰值内存使用: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;// Echo doneecho date('H:i:s') , " 写文件" , EOL;echo '文件已经创建 ' , getcwd() , EOL;