Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen über die gängige Excel-Exportmethode in php ein. Die im Artikel vorgestellte Methode ist eine sichere Referenz für alle, die php Der Wert des Lernens, Freunde, die PHP lernen müssen, wie man Excel exportiert, folgen Sie bitte dem Editor, um gemeinsam zu lernen.
1. Gängige Exportmethoden
Es treten jedoch zwei Probleme auf:
Daher ist es notwendig, einen Excel-Export zu vereinheitlichen. Wenn Sie diese Methode verwenden, müssen Sie nur den Datenheader, den Header-Feldnamen, die Datenliste und den Datentabellennamen für den Export nach Excel übergeben.
Wie in der Abbildung unten gezeigt, solange 4 Parameter übergeben werden, Der Export kann abgeschlossen werden, Verwendung und Wartung werden viel einfacher.
Okay, das Ziel ist geklärt, der nächste Schritt ist die Implementierung des Codes.
Die größte Schwierigkeit bei der Realisierung dieser Funktion besteht offensichtlich darin, den Koordinatenwert jedes Felds in Excel (z. B. A1) basierend auf dem Index eines einzelnen Datenelements und der Reihenfolge der Headerfelder automatisch zu berechnen. B3).
//AAA转换 public static function toAAA($dec) { if ($dec < 0) return ''; $y = $dec % 26; $x = floor($dec / 26); return self::toAAA($x - 1) . chr($y + 65); }
Schließlich ist der vollständige Code beigefügt
Das Framework ist Yii2, Excel-Exportkomponente für Moonlandsoft/yii2-phpexcel;
Andere wie >3.Exportergebnisse:
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird allen helfen!
//导出xls public static function exportXls($array) { set_time_limit(0); include(Url::to('@vendor/moonland/phpexcel/PHPExcel.php')); include(Url::to('@vendor/moonland/phpexcel/PHPExcel/Writer/Excel2007.php')); $titles = $array['titles']; $fields = $array['fields']; $list = $array['list']; $name = $array['name']; $count = count($titles); $keys = [];//A=>chr(65) foreach ($titles as $k => $v) { $keys[] = self::toAAA($k); } $objPHPExcel = new \PHPExcel(); $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel); $objPHPExcel->setActiveSheetIndex(0); $activeSheet = $objPHPExcel->getActiveSheet(); $activeSheet->setTitle($name); $activeSheet->getStyle("A1:{$keys[$count-1]}1")->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $activeSheet->mergeCells("A1:{$keys[$count-1]}1"); $activeSheet->setCellValue('A1', $name); //设置title,样式 foreach ($titles as $key => $title) { $activeSheet->setCellValue($keys[$key] . '2', $title); $activeSheet->getColumnDimension($keys[$key])->setWidth(20); $activeSheet->getRowDimension(($key + 1))->setRowHeight(18); } $i = 3; foreach ($list as &$item) { foreach ($keys as $k => $v) { $val = isset($item[$fields[$k]]) ? $item[$fields[$k]] . ' ' : ' '; $activeSheet->setCellValue($v . $i, $val); } $i++; } $fileName = $name . "_" . date('Y_m_d_His') . '.xlsx'; header("Cache-Control: public"); header("Pragma: public"); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=" . iconv("utf-8", "GB2312//TRANSLIT", $fileName)); header('Content-Type:APPLICATION/OCTET-STREAM'); ob_clean(); ob_start(); $objWriter->save('php://output'); ob_end_flush(); } //AAA转换 public static function toAAA($dec) { if ($dec < 0) return ''; $y = $dec % 26; $x = floor($dec / 26); return self::toAAA($x - 1) . chr($y + 65); }
So speichern Sie Bilder in Excel mit PHP
Native Implementierungsmethode für den PHP-Export und Download von Excel
Das obige ist der detaillierte Inhalt vonBeispiel einer gängigen Excel-Exportmethode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!