本文环境 Hyperf2.1,PHP7.3,Mysql5.7
不懂的可以评论或联系我邮箱:owen@owenzhang.com
Hyperf & PhpSpreadsheet介绍
Hyperf 介绍
Hyperf 是基于 Swoole 4.5+
实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM
的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
与 可复用
的。
PhpOffice/PhpSpreadsheet 介绍
PhpSpreadsheet是一个用纯PHP编写的库,它提供了一组类,允许您读取和写入各种电子表格文件格式,如Excel和LibreOffice Calc。
PhpSpreadsheet是PHPExcel的下一个版本。它破坏了兼容性,从而大大提高了代码库质量(命名空间、PSR 合规性、使用最新的 PHP 语言功能等)。
因为所有的努力都转移到了PhpSpreadsheet上,PHPExcel将不再被维护。所有对 PHPExcel 的贡献、补丁和新功能都应针对 PhpSpreadsheet 分支。master
-
GitHub PHPOffice/PhpSpreadsheet:用于读取和写入电子表格文件的纯PHP库 (github.com)
-
官方使用文档 Welcome to PhpSpreadsheet's documentation - PhpSpreadsheet Documentation
PhpOffice/PhpSpreadsheet 安装
使用composer将 PhpSpreadsheet 安装到你的项目中:
composer require phpoffice/phpspreadsheet
或者,如果您计划使用它们,还可以下载文档和示例:
composer require phpoffice/phpspreadsheet --prefer-source
文件导出导入&代码实例
csv文件导出
导出实例类文件
函数说明:使用hyperf框架的跨域中间件
->withHeader
添加浏览器响应头->withBody
添加浏览器内容主体Headers
可以根据实际情况进行改写。
代码实例:
<?php
/**
* Created by PhpStorm.
* Created by OwenZhang at 2021/11/8 14:39
*/
namespace App\Common;
use Hyperf\HttpMessage\Stream\SwooleStream;
use Hyperf\HttpServer\Response;
class Csv
{
/**
$head = ['name'=>'名字','score'=>'得分'];
$data = [
['name' => '张三', 'score' => '80'],
['name' => '李四', 'score' => '90'],
['name' => '王五', 'score' => '60'],
];
$fileName = '测试'
*/
/**
* Describe: 导数数据 (csv 格式)
* @param array $head
* @param array $body
* @param string $fileN