cari
Rumahpembangunan bahagian belakangtutorial phpphpspreadsheet导出数据到Excel的方法介绍(代码示例)

本篇文章给大家带来的内容是关于phpspreadsheet导出数据到Excel的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

之前我们使用PHP导出Excel数据时使用的是PHPExcel库,但是phpoffice已经官方宣布PHPExcel已经被废弃不在维护,推荐使用phpspreadsheet,如下图所示

phpspreadsheet导出数据到Excel的方法介绍(代码示例)

我们可以通过composer安装phpspreadsheet

phpspreadsheet导出数据到Excel的方法介绍(代码示例)

composer require phpoffice/phpspreadsheet

使用phpspreadsheet导出学生信息到浏览器代码示例

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

导出结果如图所示:

phpspreadsheet导出数据到Excel的方法介绍(代码示例)

Atas ialah kandungan terperinci phpspreadsheet导出数据到Excel的方法介绍(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:博客园. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Bagaimana anda membuat dan menggunakan antara muka dalam PHP?Bagaimana anda membuat dan menggunakan antara muka dalam PHP?Apr 30, 2025 pm 03:40 PM

Artikel ini menerangkan cara membuat, melaksanakan, dan menggunakan antara muka dalam PHP, memberi tumpuan kepada manfaat mereka untuk organisasi kod dan penyelenggaraan.

Apakah perbezaan antara crypt () dan password_hash ()?Apakah perbezaan antara crypt () dan password_hash ()?Apr 30, 2025 pm 03:39 PM

Artikel ini membincangkan perbezaan antara crypt () dan password_hash () dalam php untuk hashing kata laluan, memberi tumpuan kepada pelaksanaan, keselamatan, dan kesesuaian untuk aplikasi web moden.

Bagaimanakah anda dapat mencegah skrip lintas tapak (XSS) dalam PHP?Bagaimanakah anda dapat mencegah skrip lintas tapak (XSS) dalam PHP?Apr 30, 2025 pm 03:38 PM

Artikel membincangkan mencegah skrip lintas tapak (XSS) dalam PHP melalui pengesahan input, pengekodan output, dan menggunakan alat seperti OWASP ESAPI dan pembersih HTML.

Apakah autoloading dalam php?Apakah autoloading dalam php?Apr 30, 2025 pm 03:37 PM

Autoloading dalam PHP secara automatik memuat fail kelas apabila diperlukan, meningkatkan prestasi dengan mengurangkan penggunaan memori dan meningkatkan organisasi kod. Amalan terbaik termasuk menggunakan PSR-4 dan menganjurkan kod dengan berkesan.

Apakah aliran PHP?Apakah aliran PHP?Apr 30, 2025 pm 03:36 PM

Aliran PHP menyatukan pengendalian sumber seperti fail, soket rangkaian, dan format mampatan melalui API yang konsisten, abstrak kerumitan dan meningkatkan fleksibiliti dan kecekapan kod.

Berapakah saiz maksimum fail yang boleh dimuat naik menggunakan php?Berapakah saiz maksimum fail yang boleh dimuat naik menggunakan php?Apr 30, 2025 pm 03:35 PM

Artikel ini membincangkan menguruskan saiz muat naik fail dalam PHP, memberi tumpuan kepada had lalai 2MB dan bagaimana untuk meningkatkannya dengan mengubah suai tetapan php.ini.

Apakah jenis yang boleh dibatalkan dalam PHP?Apakah jenis yang boleh dibatalkan dalam PHP?Apr 30, 2025 pm 03:34 PM

Artikel ini membincangkan jenis yang boleh dibatalkan dalam PHP, yang diperkenalkan dalam Php 7.1, yang membolehkan pembolehubah atau parameter menjadi sama ada jenis atau null yang ditentukan. Ia menyoroti faedah seperti kebolehbacaan, keselamatan jenis, dan niat jelas, dan menerangkan cara mengisytiharkan

Apakah perbezaan antara fungsi Unset () dan Unlink ()?Apakah perbezaan antara fungsi Unset () dan Unlink ()?Apr 30, 2025 pm 03:33 PM

Artikel ini membincangkan perbezaan antara fungsi Unset () dan Unlink () dalam pengaturcaraan, memberi tumpuan kepada tujuan dan kes penggunaannya. Unset () membuang pembolehubah dari ingatan, sementara Unlink () memadam fail dari sistem fail. Kedua -duanya sangat penting untuk effec

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini