Heim > Artikel > Backend-Entwicklung > Spekulativ: So exportieren Sie Daten mit PHP in eine Excel-Tabelle (Bild- und Texterklärung)
Wie schreibe ich Daten mit der einfachsten, grobsten und gewalttätigsten Methode in eine Excel-Datei?
Da sowohl MS Word- als auch Excel-Dokumente das HTML-Textformat unterstützen, können wir das HTML-Textformat verwenden, um Daten basierend auf diesem Prinzip auszugeben.
In HTML müssen wir die Daten nur in der gewünschten Reihenfolge in die entsprechende HTML-Tabelle einfügen.
Wir verwenden PHP, um die Daten abzurufen und zu organisieren, den entsprechenden HTML-Text zu erstellen und ihn schließlich über die Byte-Stream-Ausgabe in den lokalen Bereich des Benutzers herunterzuladen.
Geben Sie den Code direkt ein. Dies ist ein sehr einfaches Programm mit Kommentaren.
Excel.class.php-Datei exportieren
<?php class ExportExcel{ /** * @desc 将数据导出到Excel中 * @param $data array 设置表格数据 * @param $titlename string 设置head * @param $title string 设置表头 * @param $filename 设置默认文件名 * @return 将字符串输出,即输出字节流,下载Excel文件 */ public function excelData($data,$titlename,$title,$filename){ #xmlns即是xml的命名空间 $str = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\nxmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\nxmlns=\"http://www.w3.org/TR/REC-html40\">\r\n<head>\r\n<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>"; #以下构建一个html类型格式的表格 $str .= $title; $str .="<table border=1><head>".$titlename."</head>"; foreach ($data as $key=> $rt ) { $str .= "<tr>"; foreach ( $rt as $k => $v ) { $str .= "<td>{$v}</td>"; } $str .= "</tr>\n"; } $str .= "</table></body></html>"; header( "Content-Type: application/vnd.ms-excel; name='excel'" ); #类型 header( "Content-type: application/octet-stream" ); #告诉浏览器响应的对象的类型(字节流、浏览器默认使用下载方式处理) header( "Content-Disposition: attachment; filename=".$filename ); #不打开此文件,刺激浏览器弹出下载窗口、下载文件默认命名 header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); #保证不被缓存或者说保证获取的是最新的数据 header( "Expires: 0" ); exit( $str ); } } ?>
<?php $obj=new ExportExcel(); $data = array( array('a11','a22','a33'), array('b11','b22','b33'), array('c11','c22','c33'), array('d11','d22','d33'), array('e11','e22','e33'), array('f11','f22','f33'), ); $excelHead = "这个是Excel表格标题"; $title = "我的Excel表"; #文件命名 $headtitle= "<tr><th colspan='3' >{$excelHead}</th></tr>"; $titlename = "<tr> <th style='width:70px;'>表格1</th> <th style='width:70px;'>表格2</th> <th style='width:70px;'>表格3</th> </tr>"; $filename = $title.".xls"; $obj->excelData($data,$titlename,$headtitle,$filename); ?>
Klicken Sie hier, um zu besuchen:
Excel-Datei herunterladen
Datei nach Erfolg anzeigen:
Nach der Eingabe fordert Excel Sie auf, die Datei herunterzuladen Das Format ist dasselbe wie Die Suffixnamen sind inkonsistent, was indirekt auch zeigt, dass die von uns exportierte Excel-Datei nur wie Excel aussieht (es handelt sich tatsächlich um eine HTML-Datei) und im Format keine Excel-Datei ist.
Klicken Sie, um den Inhalt einzugeben und anzuzeigen. Es sieht aus wie Excel, haha. Ändern Sie einfach das Suffix in HTML und sehen Sie es sich an:
Sehen Sie, es ist eigentlich eine HTML-Datei, nur unterstützt Excel nur dieses Format.
4. Referenzen"PHP Export Excel"
(oben). sind einige meiner eigenen Meinungen. Wenn es Mängel oder Fehler gibt, weisen Sie diese bitte darauf hin)
Das obige ist der detaillierte Inhalt vonSpekulativ: So exportieren Sie Daten mit PHP in eine Excel-Tabelle (Bild- und Texterklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!