Maison  >  Article  >  développement back-end  >  Introduction à la façon dont phpspreadsheet exporte des données vers Excel (exemple de code)

Introduction à la façon dont phpspreadsheet exporte des données vers Excel (exemple de code)

不言
不言avant
2019-02-13 14:55:016435parcourir

Cet article vous présente la méthode d'exportation de données vers Excel à l'aide de phpspreadsheet (exemple de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Auparavant, lorsque nous utilisions PHP pour exporter des données Excel, nous utilisions la bibliothèque PHPExcel, mais phpoffice a officiellement annoncé que PHPExcel a été abandonné et ne sera plus maintenu. Il est recommandé d'utiliser phpspreadsheet, comme indiqué dans. la figure ci-dessous

Introduction à la façon dont phpspreadsheet exporte des données vers Excel (exemple de code)

Nous pouvons installer phpspreadsheet via composer

Introduction à la façon dont phpspreadsheet exporte des données vers Excel (exemple de code)

composer require phpoffice/phpspreadsheet

Utilisez phpspreadsheet pour exporter les informations sur les étudiants vers le exemple de code de navigateur

/**
 * 输出到浏览器(需要设置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');

Exporter les résultats Comme indiqué dans l'image :

Introduction à la façon dont phpspreadsheet exporte des données vers Excel (exemple de code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer