Heim  >  Artikel  >  Backend-Entwicklung  >  Excel-Dateien mit PHP generieren und lesen

Excel-Dateien mit PHP generieren und lesen

高洛峰
高洛峰Original
2016-12-20 09:12:291385Durchsuche

Tabellen werden häufig auf Websites erstellt. CSV ist relativ einfach. Wenn Sie Fragen haben, werde ich hier hauptsächlich die Verwendung von PHP vorstellen Generieren und lesen Sie die Excel-Datei.

Um die folgende Funktion auszuführen, müssen Sie zunächst eine Klassenbibliothek einführen: PHPExcel ist eine leistungsstarke PHP-Klassenbibliothek, die zum Lesen und Schreiben verschiedener Dateiformate wie Excel 2007, PDF-Format und HTML verwendet wird Format usw. Diese Klassenbibliothek basiert auf OpenXML und PHP von Microsoft. Sie bietet leistungsstarke Unterstützung für Excel, z. B. das Festlegen von Arbeitsmappen, Schriftstilen, Bildern, Rahmen usw. Schauen wir uns an, wie man Excel-Dateien liest.

Schauen wir uns zunächst an, wie man eine Excel-Datei generiert:

Die Funktion der Funktion arrayToExcel im folgenden Code besteht darin, aus einer zweidimensionalen Datei eine Excel-Datei zu generieren Array von Daten erstellt und auf dem Server gespeichert.

require_once 'Classes/PHPExcel/Reader/Excel2007.php';
require_once 'Classes/PHPExcel/Reader/Excel5.php';
include 'Classes/PHPExcel/IOFactory.php';
function arrayToExcel($data){
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('firstsheet');
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
//add data
$i = 2;
foreach ($data as $line){
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $line['From']);
$objPHPExcel->getActiveSheet()->getCell('A'.$i)->setDataType('n');
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $line['To']);
$objPHPExcel->getActiveSheet()->getCell('B'.$i)->setDataType('n');
$i++;
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$file = 'excel.xls';
$objWriter->save($file);
}

Wenn Sie es nicht auf dem Server speichern und nach der Generierung direkt auf den Client herunterladen möchten, können Sie bei der Ausgabe der Datei den folgenden Code hinzufügen, anstatt $objWriter-> zu verwenden. save($file ; Die Funktion besteht darin, den Inhalt einer Excel-Datei in einem Array neu anzuordnen.

Der Code lautet wie folgt:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="excel.xls"');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');

Vereinfachter Ansatz

Der Code lautet wie folgt:

Ich hoffe, dieser Artikel wird Ihnen hilfreich sein. Dies ist die Einführung in das Generieren und Lesen des Inhalts von Excel-Dateien in PHP. Ich hoffe, dass Sie unserer Website weiterhin Aufmerksamkeit schenken! Wenn Sie PHP lernen möchten, können Sie dieser Website weiterhin Aufmerksamkeit schenken.

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