Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ excel Public

PHP中导入导出Excel文件,导出支持100K+ row

Notifications You must be signed in to change notification settings

pfinal/excel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

23 Commits

Repository files navigation

Excel 处理

安装

composer require pfinal/excel

使用示例

导入Excel

<?php
include 'vendor/autoload.php'; // 如果在框架中通常不需要
use PFinal\Excel\Excel;
date_default_timezone_set('PRC');
$data = Excel::readExcelFile('./1.xlsx', ['id' => '编号', 'name' => '姓名', 'date' => '日期']);
//处理日期
array_walk($data, function (&$item) {
 $item['date'] = Excel::convertTime($item['date'], 'Y-m-d');
});
var_dump($data);
//如果数据量大,建议用csv格式
$data = Excel::readExcelFile('./1.csv', ['id' => '编号', 'name' => '姓名', 'date' => '日期'], 1, 1, '', 'GBK');

Excel中的数据:

编号 姓名 日期
1 张三 2017年7月18日
2 李四 2017年7月19日
3 王五 2017年7月20日

导入得到结果如下:

$data = [
 ['id'=>1,'name'=>'张三', 'date'=>'2017年07月18日'],
 ['id'=>1,'name'=>'李四', 'date'=>'2017年07月19日'],
 ['id'=>1,'name'=>'王五', 'date'=>'2017年07月20日'],
];

导出到Excel文件

$data = [
 ['id' => 1, 'name' => 'Jack', 'age' => 18, 'date'=>'2017年07月18日'],
 ['id' => 2, 'name' => 'Mary', 'age' => 20, 'date'=>'2017年07月18日'],
 ['id' => 3, 'name' => 'Ethan', 'age' => 34, 'date'=>'2017年07月18日'],
];
$map = [
 'title'=>[
 'id' => '编号',
 'name' => '姓名',
 'age' => '年龄',
 ],
];
$file = 'user' . date('Y-m-d');
//浏览器直接下载
Excel::exportExcel($data, $map, $file, '用户信息');
//保存到磁盘文件中
//Excel::toExcelFile($data, $map, $file, '用户信息');
//分块导出到CSV文件 (如果中文乱码,可输出为GBK字符集,将UTF-8改为GBK即可)
Excel::chunkExportCSV($map, './temp.csv', function ($writer) {
 DB::select('user')->orderBy('id')->chunk(100, function ($users) use ($writer) {
 /** \Closure $writer */
 $writer($users);
 });
}, 'UTF-8');

About

PHP中导入导出Excel文件,导出支持100K+ row

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /