Heim  >  Artikel  >  php教程  >  Eine kurze Einführung in die Exportfunktion mit PHPExcel

Eine kurze Einführung in die Exportfunktion mit PHPExcel

WBOY
WBOYOriginal
2016-08-04 08:56:221372Durchsuche

Als ich vorher nicht wusste, wie man exportiert, habe ich nach verschiedenen DEMOs und Fällen gesucht, aber die Funktion funktionierte immer noch nicht. Einerseits war ich vielleicht zu dumm, und andererseits hatte ich das Gefühl, dass dies nicht der Fall ist Anfänger, ich müsste es tun (eh, Sie kopieren den Code hierher, legen die Datei hier ab und ändern sie einfach hier.) Bis zu diesem Punkt hat der Meister beim Posten möglicherweise unbewusst einige kleine Details ignoriert (und das ist genau das, was der Die Ausbildung zum Fast-Food-Programmierer ist jetzt abgeschlossen (natürlich auch für mich), daher schreibe ich diesen Beitrag nach meinem eigenen Verständnis für Anfänger und hoffe, dass andere Anfänger dies sehen und auf den Notfall reagieren können Jetzt, nachdem ich mehr und mehr gelesen habe, verstehe ich, dass Neulinge noch ein wenig Zeit brauchen, um sich anzusammeln und Code zu sammeln.
Da es sich um einen PHPExcel-Export handelt (ich werde jetzt nur über den Export sprechen), benötigen Sie natürlich diese Datei, nehmen Sie sie (http://phpexcel.codeplex.com/)
Wo legen Sie es nach dem Herunterladen ab? Im Allgemeinen wird TP in einer Klassenbibliothek eines Drittanbieters platziert (bezieht sich auf andere Klassenbibliotheken neben dem ThinkPHP-Framework und den Anwendungsprojekt-Klassenbibliotheken, die im Allgemeinen von Systemen oder Produkten Dritter bereitgestellt werden, wie z. B. Klassenbibliotheken von Smarty, Zend und andere Systeme...) Normalerweise hier unter ThinkPHP/Library/Vender platziert.
Dann müssen Sie den folgenden Code in „function.php“ unter „Common“ unter derselben Ebene wie die Front-End- und Back-End-Dateien kopierenEine kurze Einführung in die Exportfunktion mit PHPExcel/**<code class="prettyprint linenums lang-php">/**<br>  * 导出到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); //文件名称<br>     $fileName = $expTitle . date('_YmdHis'); //or $xlsTitle 文件名称可根据自己情况设定<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'); //合并单元格<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新窗口打印inline本窗口打印<br>     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');<br>     $objWriter->save('php://output');<br>     exit;<br> }  * 导出到EXCEL   * @param type $expTitle  * @param type $expCellName
 * @param type $expTableData  * / Funktion exportExcel($expTitle, $expCellName, $expTableData) { $xlsTitle = iconv('utf-8', 'gb2312', $expTitle); //Dateiname $fileName = $expTitle .date('_YmdHis'); //oder $xlsTitle Der Dateiname kann entsprechend Ihrer eigenen Situation festgelegt werden $cellNum = count($expCellName); $dataNum = count($expTableData); verkäufer("PHPExcel"); $objPHPExcel = new PHPExcel(); $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'); // $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1'); //Zellen zusammenführen for ($i = 0; $i < $cellNum; $i ) {<🎜>           $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '1', $expCellName[$i][1]); } // Verschiedene Glyphen, UTF-8 für ($i = 0; $i < $dataNum; $i ) {<🎜> für ($j = 0; $j < $cellNum; $j ) {<🎜>                $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i 2), $expTableData[$i][$expCellName[$j][0]]);         } } Header('pragma:public'); Header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"'); Header("Content-Disposition:attachment;filename=$fileName.xls"); //Im neuen Fenster des Anhangs drucken, inline in diesem Fenster drucken $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); beenden; }vendor("PHPExcel");Wenn Ihre Datei für den obigen Code nicht hier platziert ist, denken Sie daran, ihn zu ändern. Lassen Sie mich hier hinzufügen: Wenn Sie benutzerdefinierte Stile exportieren und hinzufügen müssen (z. B. Text mit Farbmarkierungen usw.), müssen Sie ihn hier hinzufügen. Hier ist ein auskommentierter Code wie dieser (dies ist nicht der Fall). Müssen Sie das selbst schreiben? URL Hier ist alles, was Sie wollen http://blog.csdn.net/diandian_520/article/details/7827038, denken Sie daran, darauf zu achten, zu welchen Zeilen und Spalten ändern)
Dies ist natürlich eine öffentliche Exportfunktion. Wenn Sie also mehrere alternative Tabellen exportieren möchten, müssen Sie den obigen Code erneut kopieren, den Namen ändern und ihn aufrufen.
Als nächstes folgt der Code für C /*<br> * Testen<br> */<br> Öffentlicher Funktionstext(){<br> //Erforderliche Daten abrufen<br> $res=M('order')->select();<br> $export=I('export');//Der Wert, der die Exportanweisung auslöst<br>           if ($export==1){                                                 $ Xlsname = "Bestellliste"; // Tabellenname <br> $ Xlscell = Array (// Hier ist der Name des Schreibfelds <br>                        array('ddh','order number'),<br>                      array('xdsj','order time'),<br>                      array('dgje','order amount'), <br>                        array('yhje','rabattbetrag'),<br> );<br>                          $xlsData=array( <br> foreach ($res as $key=>$val){<br>                      array_push($xlsData, array(//Der Inhalt, der hier exportiert werden muss. Bitte beachten Sie, dass der Schlüsselname mit dem Feldschlüsselnamen oben <br> übereinstimmen muss ‘ddh’=>" ".$val[ordersn],<br> 'xdsj'=>date('Y-m-d H:i:s',$val[createtime]),<br> ‚dgje‘=>$val[fee],<br> ‚yhje‘=>$val[Rabattpreis],<br>                                                                  ));                                                                                      Extexcel ($ xlsname, $ xlscell, $ xlsdata); // Hier wird die in der Funktion geschriebene Funktion aufgerufen. <br>                   die(); <br>               }OK, Sie sind fertig, probieren Sie es jetzt aus! ! !
(Ich habe das Gefühl, dass ich etwas verpasst habe. Wenn jemand das Problem entdeckt hat oder eine bessere Methode hat, können Sie diese gerne hinzufügen und uns Neulingen beibringen. Vielen Dank...)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn