Home  >  Article  >  php教程  >  A brief introduction to the export function using PHPExcel

A brief introduction to the export function using PHPExcel

WBOY
WBOYOriginal
2016-08-04 08:56:221367browse

When I didn't know how to export before, I looked for various DEMOs and cases, but the function still didn't work. On the one hand, I might be too stupid, and on the other hand, I felt that for a novice, I would have to do it (eh, you Copy the code here, put the file here, and just change it here.) To this point, maybe the master unconsciously ignored some small details when posting (and this is exactly what the fast-food programmer training is now) (of course, including me), so I write this post according to my own novice understanding. I hope other novices can see this and be able to respond to the emergency. After all, I only used to apply it. Now, after reading more and more, I understand a little bit. Newbies still need time to accumulate and code accumulation, come on!
Since it is PHPExcel export (I will only talk about export now), of course you need this file, take it (http://phpexcel.codeplex.com/)
After downloading, where do you put it? Generally, TP will be placed in a third-party class library (referring to other class libraries besides the ThinkPHP framework and application project class libraries, which are generally provided by third-party systems or products, such as class libraries of Smarty, Zend and other systems...) Usually placed under ThinkPHP/Library/Vender.
Then you need to copy the following code to function.php under Common at the same level as the front-end and back-end filesA brief introduction to the export function using PHPExcel/**<br> * Export to EXCEL <br> * @param type $expTitle<br> * @param type $expCellName<br> * @param type $expTableData<br> ​*/<br> function exportExcel($expTitle, $expCellName, $expTableData) {<br> $xlsTitle = iconv('utf-8', 'gb2312', $expTitle); //File name<br> $fileName = $expTitle .date('_YmdHis'); //or $xlsTitle The file name can be set according to your own situation<br> $cellNum = count($expCellName);<br> $dataNum = count($expTableData);<br> <br> Vendor("PHPExcel");<br> <br> $objPHPExcel = new PHPExcel();<br> $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', ' L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X' , 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', ' AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW' , 'AX', 'AY', 'AZ');<br> // $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1'); //Merge cells<br> for ($i = 0; $i < $cellNum; $i++) {<br />            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $expCellName[$i][1]);<br> }<br> //Miscellaneous glyphs, UTF-8<br> for ($i = 0; $i < $dataNum; $i++) {<br /> for ($j = 0; $j < $cellNum; $j++) {<br />                $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 2), $expTableData[$i][$expCellName[$j][0]]);<br>         }<br> }<br> <br> Header('pragma:public');<br> Header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');<br> Header("Content-Disposition:attachment;filename=$fileName.xls"); //Attachment is printed in a new window and printed inline in this window<br> $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');<br> $objWriter->save('php://output');<br> exit;<br> }vendor("PHPExcel");For the above code, if your file is not placed here, remember to change it.
Let me add here, if you need to export and add custom styles (such as exporting text with color marks, etc.), you need to add it here. Here is a commented out piece of code, like this (you don’t need to write this yourself? URL Here you go, everything you want is here http://blog.csdn.net/diandian_520/article/details/7827038, remember to pay attention to which rows and columns to change)
Of course, this is a public export function, so if you want to export several alternative tables, you need to copy the above code, change the name and call it.
Next is the code for C/*<br> * Test<br> */<br> Public function text(){<br> //Get the required data<br> $res=M('order')->select();<br> $export=I('export');//The value that triggers the export instruction<br>             if ($export==1){                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ​                        array('ddh','order number'),<br>                       array('xdsj','Order time'),<br>                        array('dgje','order amount'), <br>                         array('yhje','discount amount'),<br>                     );<br>                          $xlsData=array(); <br> foreach ($res as $key=>$val){<br>                         array_push($xlsData, array(//The content that needs to be exported here, please note that the key name must be consistent with the field key name above<br> ‘ddh’=>" ".$val[ordersn],<br> ‘xdsj’=>date('Y-m-d H:i:s',$val[createtime]),<br> ‘dgje’=>$val[fee],<br> ‘yhje’=>$val[discountprice],<br>                                                                                                               )                                                                                                                                                                                                                                                                                                                      exportExcel($xlsName,$xlsCell,$xlsData);//This is where the function written in the function is called. <br>                       die(); <br>                }OK, you’re done, try it now! ! !
(I feel like I missed something. If someone has discovered the problem or has a better method, please feel free to add it and teach us newbies. Thank you...)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn