使用PhpSpreadsheet生成excel

本文介绍了如何使用PhpSpreadsheet库来生成Excel文件。首先,详细讲解了如何通过Composer安装该库,安装完成后会在项目中生成vendor目录。接着,讨论了导出Excel的过程,包括工程结构的设置、数据格式的定义、表头变量的设计以及调用方法的实现。文中给出了具体的代码示例,以帮助读者理解和应用。

phpspreadsheet资料

PhpSpreadsheet’s documentation: link.

安装phpspreadsheet

在项目根目录下安装运行

// An highlighted block
composer require phpoffice/phpspreadsheet

安装完成后生成vendor目录,如下图所示:
在这里插入图片描述

导出excel

工程结构

在这里插入图片描述

数据格式

$list数据格式如图所示:
在这里插入图片描述

表头变量

// An highlighted block
$title = array('id', '名称', '地址');

调用方法

方法调用

// An highlighted block
exportExcel($list, 'test', $title);

方法体

// An highlighted block
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

function exportExcel($data, $savefile = null, $title = null, $sheetname = 'sheet1') {
    //若没有指定文件名则为当前时间戳
    if (is_null($savefile)) {
        $savefile = time();
    }
    //若指字了excel表头,则把表单追加到正文内容前面去
    if (is_array($title)) {
        array_unshift($data, $title);
    }
    $spreadsheet = new Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    //Excel内容
    $head_num = count($data);

    foreach ($data as $k => $v) {
        $row = $k + 1; //行
        $nn = 0;

        foreach ($v as $vv) {
            $col = chr(65 + $nn); //列
            $sheet->setCellValue($col . $row, $vv); //列,行,值
            $nn++;
        }
    }

    $sheet->setTitle($sheetname); //题目
    $writer = new Xlsx($spreadsheet);
    $writer->save($savefile.'.xlsx');
}

有问题请大家留言指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默哈哈ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值