{"id":808,"date":"2015-12-23T22:01:08","date_gmt":"2015-12-23T14:01:08","guid":{"rendered":"http:\/\/www.zyuns.com\/?p=808"},"modified":"2015-12-23T22:01:08","modified_gmt":"2015-12-23T14:01:08","slug":"phpexcel%e4%b8%ad%e6%96%87%e5%b8%ae%e5%8a%a9%e6%89%8b%e5%86%8cphpexcel%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.siediyer.cn\/?p=808","title":{"rendered":"PhpExcel\u4e2d\u6587\u5e2e\u52a9\u624b\u518c|PhpExcel\u4f7f\u7528\u65b9\u6cd5"},"content":{"rendered":"<pre class=\"lang:default decode:true \">\u4e0b\u9762\u662f\u603b\u7ed3\u7684\u51e0\u4e2a\u4f7f\u7528\u65b9\u6cd5\r\ninclude 'PHPExcel.php';\r\ninclude 'PHPExcel\/Writer\/Excel2007.php';\r\n\/\/\u6216\u8005include 'PHPExcel\/Writer\/Excel5.php'; \u7528\u4e8e\u8f93\u51fa.xls\u7684\r\n\u521b\u5efa\u4e00\u4e2aexcel\r\n$objPHPExcel = new PHPExcel();\r\n\u4fdd\u5b58excel\u20142007\u683c\u5f0f\r\n$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);\r\n\/\/\u6216\u8005$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); \u975e2007\u683c\u5f0f\r\n$objWriter-&gt;save(\"xxx.xlsx\");\r\n\u76f4\u63a5\u8f93\u51fa\u5230\u6d4f\u89c8\u5668\r\n$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);\r\nheader(\"Pragma: public\");\r\nheader(\"Expires: 0\u2033);\r\nheader(\"Cache-Control:must-revalidate, post-check=0, pre-check=0\u2033);\r\nheader(\"Content-Type:application\/force-download\");\r\nheader(\"Content-Type:application\/vnd.ms-execl\");\r\nheader(\"Content-Type:application\/octet-stream\");\r\nheader(\"Content-Type:application\/download\");;\r\nheader('Content-Disposition:attachment;filename=\"resume.xls\"');\r\nheader(\"Content-Transfer-Encoding:binary\");\r\n$objWriter-&gt;save('php:\/\/output');\r\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2013\r\n\u8bbe\u7f6eexcel\u7684\u5c5e\u6027\uff1a\r\n\u521b\u5efa\u4eba\r\n$objPHPExcel-&gt;getProperties()-&gt;setCreator(\"Maarten Balliauw\");\r\n\u6700\u540e\u4fee\u6539\u4eba\r\n$objPHPExcel-&gt;getProperties()-&gt;setLastModifiedBy(\"Maarten Balliauw\");\r\n\u6807\u9898\r\n$objPHPExcel-&gt;getProperties()-&gt;setTitle(\"Office 2007 XLSX Test Document\");\r\n\u9898\u76ee\r\n$objPHPExcel-&gt;getProperties()-&gt;setSubject(\"Office 2007 XLSX Test Document\");\r\n\u63cf\u8ff0\r\n$objPHPExcel-&gt;getProperties()-&gt;setDescription(\"Test document for Office 2007 XLSX, generated using PHP classes.\");\r\n\u5173\u952e\u5b57\r\n$objPHPExcel-&gt;getProperties()-&gt;setKeywords(\"office 2007 openxml php\");\r\n\u79cd\u7c7b\r\n$objPHPExcel-&gt;getProperties()-&gt;setCategory(\"Test result file\");\r\n\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2013\r\n\u8bbe\u7f6e\u5f53\u524d\u7684sheet\r\n$objPHPExcel-&gt;setActiveSheetIndex(0);\r\n\u8bbe\u7f6esheet\u7684name\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;setTitle('Simple');\r\n\u8bbe\u7f6e\u5355\u5143\u683c\u7684\u503c\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('A1', 'String');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('A2', 12);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('A3', true);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('C5', '=SUM(C2:C4)');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('B8', '=MIN(B2:C5)');\r\n\u5408\u5e76\u5355\u5143\u683c\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;mergeCells('A18:E22');\r\n\u5206\u79bb\u5355\u5143\u683c\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;unmergeCells('A28:B28');\r\n\r\n\u4fdd\u62a4cell\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getProtection()-&gt;setSheet(true); \/\/ Needs to be set to true in order to enable any worksheet protection!\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;protectCells('A3:E13', 'PHPExcel');\r\n\u8bbe\u7f6e\u683c\u5f0f\r\n\/\/ Set cell number formats\r\necho date('H:i:s') . \" Set cell number formats\\n\";\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E4')-&gt;getNumberFormat()-&gt;setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;duplicateStyle( $objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E4'), 'E5:E13' );\r\n\u8bbe\u7f6e\u5bbdwidth\r\n\/\/ Set column widths\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('B')-&gt;setAutoSize(true);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getColumnDimension('D')-&gt;setWidth(12);\r\n\u8bbe\u7f6efont\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFont()-&gt;setName('Candara');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFont()-&gt;setSize(20);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFont()-&gt;setBold(true);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFont()-&gt;setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFont()-&gt;getColor()-&gt;setARGB(PHPExcel_Style_Color::COLOR_WHITE);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E1')-&gt;getFont()-&gt;getColor()-&gt;setARGB(PHPExcel_Style_Color::COLOR_WHITE);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D13')-&gt;getFont()-&gt;setBold(true);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E13')-&gt;getFont()-&gt;setBold(true);\r\n\u8bbe\u7f6ealign\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D11')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D12')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D13')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A18')-&gt;getAlignment()-&gt;setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);\r\n\/\/\u5782\u76f4\u5c45\u4e2d\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A18')-&gt;getAlignment()-&gt;setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);\r\n\u8bbe\u7f6ecolumn\u7684border\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A4')-&gt;getBorders()-&gt;getTop()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B4')-&gt;getBorders()-&gt;getTop()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('C4')-&gt;getBorders()-&gt;getTop()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D4')-&gt;getBorders()-&gt;getTop()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E4')-&gt;getBorders()-&gt;getTop()-&gt;setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);\r\n\u8bbe\u7f6eborder\u7684color\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D13')-&gt;getBorders()-&gt;getLeft()-&gt;getColor()-&gt;setARGB('FF993300');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D13')-&gt;getBorders()-&gt;getTop()-&gt;getColor()-&gt;setARGB('FF993300');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('D13')-&gt;getBorders()-&gt;getBottom()-&gt;getColor()-&gt;setARGB('FF993300');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E13')-&gt;getBorders()-&gt;getTop()-&gt;getColor()-&gt;setARGB('FF993300');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E13')-&gt;getBorders()-&gt;getBottom()-&gt;getColor()-&gt;setARGB('FF993300');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('E13')-&gt;getBorders()-&gt;getRight()-&gt;getColor()-&gt;setARGB('FF993300');\r\n\u8bbe\u7f6e\u586b\u5145\u989c\u8272\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A1')-&gt;getFill()-&gt;setFillType(PHPExcel_Style_Fill::FILL_SOLID);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('A1')-&gt;getFill()-&gt;getStartColor()-&gt;setARGB('FF808080');\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFill()-&gt;setFillType(PHPExcel_Style_Fill::FILL_SOLID);\r\n$objPHPExcel-&gt;getActiveSheet()-&gt;getStyle('B1')-&gt;getFill()-&gt;getStartColor()-&gt;setARGB('FF808080');\r\n\u52a0\u56fe\u7247\r\n$objDrawing = new PHPExcel_Worksheet_Drawing();\r\n$objDrawing-&gt;setName('Logo');\r\n$objDrawing-&gt;setDescription('Logo');\r\n$objDrawing-&gt;setPath('.\/images\/officelogo.jpg');\r\n$objDrawing-&gt;setHeight(36);\r\n$objDrawing-&gt;setWorksheet($objPHPExcel-&gt;getActiveSheet());\r\n$objDrawing = new PHPExcel_Worksheet_Drawing();\r\n$objDrawing-&gt;setName('Paid');\r\n$objDrawing-&gt;setDescription('Paid');\r\n$objDrawing-&gt;setPath('.\/images\/paid.png');\r\n$objDrawing-&gt;setCoordinates('B15');\r\n$objDrawing-&gt;setOffsetX(110);\r\n$objDrawing-&gt;setRotation(25);\r\n$objDrawing-&gt;getShadow()-&gt;setVisible(true);\r\n$objDrawing-&gt;getShadow()-&gt;setDirection(45);\r\n$objDrawing-&gt;setWorksheet($objPHPExcel-&gt;getActiveSheet());\r\n\/\/\u5904\u7406\u4e2d\u6587\u8f93\u51fa\u95ee\u9898\r\n\u9700\u8981\u5c06\u5b57\u7b26\u4e32\u8f6c\u5316\u4e3aUTF-8\u7f16\u7801\uff0c\u624d\u80fd\u6b63\u5e38\u8f93\u51fa\uff0c\u5426\u5219\u4e2d\u6587\u5b57\u7b26\u5c06\u8f93\u51fa\u4e3a\u7a7a\u767d\uff0c\u5982\u4e0b\u5904\u7406\uff1a\r\n $str  = iconv('gb2312', 'utf-8', $str);\r\n\u6216\u8005\u4f60\u53ef\u4ee5\u5199\u4e00\u4e2a\u51fd\u6570\u4e13\u95e8\u5904\u7406\u4e2d\u6587\u5b57\u7b26\u4e32\uff1a\r\nfunction convertUTF8($str)\r\n{\r\n   if(empty($str)) return '';\r\n   return  iconv('gb2312', 'utf-8', $str);\r\n}\r\n\/\/\u4ece\u6570\u636e\u5e93\u8f93\u51fa\u6570\u636e\u5904\u7406\u65b9\u5f0f\r\n\u4ece\u6570\u636e\u5e93\u8bfb\u53d6\u6570\u636e\u5982\uff1a\r\n$db = new Mysql($dbconfig);\r\n$sql = \"SELECT * FROM  \u8868\u540d\";\r\n$row = $db-&gt;GetAll($sql);  \/\/ $row \u4e3a\u4e8c\u7ef4\u6570\u7ec4\r\n$count = count($row);\r\nfor ($i = 2; $i &lt;= $count+1; $i++) {\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('A' . $i, convertUTF8($row[$i-2][1]));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('B' . $i, convertUTF8($row[$i-2][2]));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('C' . $i, convertUTF8($row[$i-2][3]));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('D' . $i, convertUTF8($row[$i-2][4]));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('E' . $i, convertUTF8(date(\"Y-m-d\", $row[$i-2][5])));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('F' . $i, convertUTF8($row[$i-2][6]));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('G' . $i, convertUTF8($row[$i-2][7]));\r\n $objPHPExcel-&gt;getActiveSheet()-&gt;setCellValue('H' . $i, convertUTF8($row[$i-2][8]));\r\n}\r\n \r\n\u5728\u9ed8\u8ba4sheet\u540e\uff0c\u521b\u5efa\u4e00\u4e2aworksheet\r\necho date('H:i:s') . \" Create new Worksheet object\\n\";\r\n$objPHPExcel-&gt;createSheet();\r\n$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');\r\n$objWriter-save('php:\/\/output');<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u9762\u662f\u603b\u7ed3\u7684\u51e0\u4e2a\u4f7f\u7528\u65b9\u6cd5 include &#8216;PHPExcel.php&#8217;; include &#8216;PHPExcel\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[38,37],"class_list":["post-808","post","type-post","status-publish","format-standard","hentry","category-php","tag-excel","tag-phpexcel"],"_links":{"self":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts\/808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=808"}],"version-history":[{"count":1,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts\/808\/revisions"}],"predecessor-version":[{"id":809,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=\/wp\/v2\/posts\/808\/revisions\/809"}],"wp:attachment":[{"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.siediyer.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}