日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHPExcel 常用方法

發(fā)布時(shí)間:2025/3/20 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHPExcel 常用方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下面是總結(jié)的幾個(gè)使用方法 include?'PHPExcel.php'; include?'PHPExcel/Writer/Excel2007.php'; //或者include?'PHPExcel/Writer/Excel5.php';?用于輸出.xls的 創(chuàng)建一個(gè)excel $objPHPExcel?=?new?PHPExcel(); 保存excel—2007格式 $objWriter?=?new?PHPExcel_Writer_Excel2007($objPHPExcel); //或者$objWriter?=?new?PHPExcel_Writer_Excel5($objPHPExcel);?非2007格式 $objWriter->save("xxx.xlsx"); 直接輸出到瀏覽器 $objWriter?=?new?PHPExcel_Writer_Excel5($objPHPExcel); header("Pragma:?public"); header("Expires:?0″); header("Cache-Control:must-revalidate,?post-check=0,?pre-check=0″); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download");; header('Content-Disposition:p_w_upload;filename="resume.xls"'); header("Content-Transfer-Encoding:binary"); $objWriter->save('php://output'); ——————————————————————————————————————– 設(shè)置excel的屬性: 創(chuàng)建人 $objPHPExcel->getProperties()->setCreator("Maarten?Balliauw"); 最后修改人 $objPHPExcel->getProperties()->setLastModifiedBy("Maarten?Balliauw"); 標(biāo)題 $objPHPExcel->getProperties()->setTitle("Office?2007?XLSX?Test?Document"); 題目 $objPHPExcel->getProperties()->setSubject("Office?2007?XLSX?Test?Document"); 描述 $objPHPExcel->getProperties()->setDescription("Test?document?for?Office?2007?XLSX,?generated?using?PHP?classes."); 關(guān)鍵字 $objPHPExcel->getProperties()->setKeywords("office?2007?openxml?php"); 種類 $objPHPExcel->getProperties()->setCategory("Test?result?file"); ——————————————————————————————————————– 設(shè)置當(dāng)前的sheet $objPHPExcel->setActiveSheetIndex(0); 設(shè)置sheet的name $objPHPExcel->getActiveSheet()->setTitle('Simple'); 設(shè)置單元格的值 $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');保護(hù)cell $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);?//?Needs?to?be?set?to?true?in?order?to?enable?any?worksheet?protection! $objPHPExcel->getActiveSheet()->protectCells('A3:E13',?'PHPExcel'); 設(shè)置格式 //?Set?cell?number?formats echo?date('H:i:s')?.?"?Set?cell?number?formats\n"; $objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE); $objPHPExcel->getActiveSheet()->duplicateStyle(?$objPHPExcel->getActiveSheet()->getStyle('E4'),?'E5:E13'?); 設(shè)置寬width //?Set?column?widths $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12); 設(shè)置font $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara'); $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20); $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); $objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); $objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true); 設(shè)置align $objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); //垂直居中 $objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); 設(shè)置column的border $objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle('B4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle('C4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle('D4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $objPHPExcel->getActiveSheet()->getStyle('E4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 設(shè)置border的color $objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300'); $objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getTop()->getColor()->setARGB('FF993300'); $objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getBottom()->getColor()->setARGB('FF993300'); $objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getTop()->getColor()->setARGB('FF993300'); $objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getBottom()->getColor()->setARGB('FF993300'); $objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getRight()->getColor()->setARGB('FF993300'); 設(shè)置填充顏色 $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FF808080'); $objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080'); 加圖片 $objDrawing?=?new?PHPExcel_Worksheet_Drawing(); $objDrawing->setName('Logo'); $objDrawing->setDescription('Logo'); $objDrawing->setPath('./p_w_picpaths/officelogo.jpg'); $objDrawing->setHeight(36); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); $objDrawing?=?new?PHPExcel_Worksheet_Drawing(); $objDrawing->setName('Paid'); $objDrawing->setDescription('Paid'); $objDrawing->setPath('./p_w_picpaths/paid.png'); $objDrawing->setCoordinates('B15'); $objDrawing->setOffsetX(110); $objDrawing->setRotation(25); $objDrawing->getShadow()->setVisible(true); $objDrawing->getShadow()->setDirection(45); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); //處理中文輸出問(wèn)題 需要將字符串轉(zhuǎn)化為UTF-8編碼,才能正常輸出,否則中文字符將輸出為空白,如下處理:$str??=?iconv('gb2312',?'utf-8',?$str); 或者你可以寫一個(gè)函數(shù)專門處理中文字符串: function?convertUTF8($str) {if(empty($str))?return?'';return??iconv('gb2312',?'utf-8',?$str); } //從數(shù)據(jù)庫(kù)輸出數(shù)據(jù)處理方式 從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)如: $db?=?new?Mysql($dbconfig); $sql?=?"SELECT?*?FROM??表名"; $row?=?$db->GetAll($sql);??//?$row?為二維數(shù)組 $count?=?count($row); for?($i?=?2;?$i?<=?$count+1;?$i++)?{$objPHPExcel->getActiveSheet()->setCellValue('A'?.?$i,?convertUTF8($row[$i-2][1]));$objPHPExcel->getActiveSheet()->setCellValue('B'?.?$i,?convertUTF8($row[$i-2][2]));$objPHPExcel->getActiveSheet()->setCellValue('C'?.?$i,?convertUTF8($row[$i-2][3]));$objPHPExcel->getActiveSheet()->setCellValue('D'?.?$i,?convertUTF8($row[$i-2][4]));$objPHPExcel->getActiveSheet()->setCellValue('E'?.?$i,?convertUTF8(date("Y-m-d",?$row[$i-2][5])));$objPHPExcel->getActiveSheet()->setCellValue('F'?.?$i,?convertUTF8($row[$i-2][6]));$objPHPExcel->getActiveSheet()->setCellValue('G'?.?$i,?convertUTF8($row[$i-2][7]));$objPHPExcel->getActiveSheet()->setCellValue('H'?.?$i,?convertUTF8($row[$i-2][8])); }在默認(rèn)sheet后,創(chuàng)建一個(gè)worksheet echo?date('H:i:s')?.?"?Create?new?Worksheet?object\n"; $objPHPExcel->createSheet(); $objWriter?=?PHPExcel_IOFactory::createWriter($objExcel,?'Excel5'); $objWriter-save('php://output');$sheetCount=$objPHPExcel->getSheetCount();//獲取excel文件里有多少個(gè)sheet for($i=0;$i<$sheetCount;$i++){$data=$objPHPExcel->getSheet($i)->toArray();//讀取每個(gè)sheet里的數(shù)據(jù)?全部放入到數(shù)組中echo?'<pre>';print_r($data); }foreach($objPHPExcel->getWorksheetIterator()?as?$sheet){//循環(huán)取sheet }

文章轉(zhuǎn)載自http://www.cnblogs.com/freespider/p/3284828.html

轉(zhuǎn)載于:https://blog.51cto.com/minabo/1732825

總結(jié)

以上是生活随笔為你收集整理的PHPExcel 常用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。