Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in den Export von Daten nach Excel durch PHPSpreadsheet (Codebeispiel)

Einführung in den Export von Daten nach Excel durch PHPSpreadsheet (Codebeispiel)

不言
不言nach vorne
2019-02-13 14:55:016502Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Methode zum Exportieren von Daten nach Excel mithilfe von PHPSpreadsheet. Ich hoffe, dass er Ihnen als Referenz dienen wird.

Bevor wir PHP zum Exportieren von Excel-Daten verwendet haben, haben wir die PHPExcel-Bibliothek verwendet, aber phpoffice hat offiziell angekündigt, dass PHPExcel aufgegeben wurde und nicht mehr gepflegt wird. Es wird empfohlen, PHPSpreadsheet zu verwenden, wie in der Abbildung gezeigt unten

Einführung in den Export von Daten nach Excel durch PHPSpreadsheet (Codebeispiel)

Wir können PHPSpreadsheet über Composer installieren

Einführung in den Export von Daten nach Excel durch PHPSpreadsheet (Codebeispiel)

composer require phpoffice/phpspreadsheet

Verwenden Sie PHPSpreadsheet, um Studenteninformationen in das Browser-Codebeispiel zu exportieren

/**
 * 输出到浏览器(需要设置header头)
 * @param string $fileName 文件名
 * @param string $fileType 文件类型
 */
function excelBrowserExport($fileName, $fileType) {

    //文件名称校验
    if(!$fileName) {
        trigger_error('文件名不能为空', E_USER_ERROR);
    }

    //Excel文件类型校验
    $type = ['Excel2007', 'Xlsx', 'Excel5', 'xls'];
    if(!in_array($fileType, $type)) {
        trigger_error('未知文件类型', E_USER_ERROR);
    }

    if($fileType == 'Excel2007' || $fileType == 'Xlsx') {
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="'.$fileName.'.xlsx"');
        header('Cache-Control: max-age=0');
    } else { //Excel5
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
        header('Cache-Control: max-age=0');
    }
}

$data = [
    [1, 'jack', 10],
    [2, 'mike', 12],
    [3, 'jane', 21],
    [4, 'paul', 26],
    [5, 'kitty', 25],
    [6, 'yami', 60],
];

$title = ['id', 'name', 'age'];

$spreadsheet = new Spreadsheet();
$worksheet = $spreadsheet->getActiveSheet();

//设置工作表标题名称
$worksheet->setTitle('工作表格1');

//表头
//设置单元格内容
foreach ($title as $key => $value) {
    $worksheet->setCellValueByColumnAndRow($key+1, 1, $value);
}

$row = 2; //从第二行开始
foreach ($data as $item) {
    $column = 1;

    foreach ($item as $value) {
        $worksheet->setCellValueByColumnAndRow($column, $row, $value);
        $column++;
    }
    $row++;
}


$fileName = '学生信息';
$fileType = 'Xlsx';

//1.下载到服务器
//$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
//$writer->save($fileName.'.'.$fileType);

//2.输出到浏览器
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); //按照指定格式生成Excel文件
excelBrowserExport($fileName, 'Xlsx');
$writer->save('php://output');

Das Exportergebnis ist wie in der Abbildung dargestellt:

Einführung in den Export von Daten nach Excel durch PHPSpreadsheet (Codebeispiel)

Das obige ist der detaillierte Inhalt vonEinführung in den Export von Daten nach Excel durch PHPSpreadsheet (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen