Box/Spout处理excel和csv
时间:2020-09-16
本文章向大家介绍Box/Spout处理excel和csv,主要包括Box/Spout处理excel和csv使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 导出csv和xlsx
use Box\Spout\Writer\WriterFactory;
use Box\Spout\Common\Type;
$result = [];
for ($i = 0; $i < 100; $i++) {
$arr = [
'name' => \Mock::name(),
'age' =>\Mock::number('10-80'),
'email' =>\Mock::email(),
'address' =>\Mock::address(),
'times'=>\Mock::datetime()
];
$result[] = $arr;
}
$reader = WriterFactory::create(Type::XLSX);
$reader->openToBrowser("测试.xlsx");//输出到浏览器
//$reader->openToFile(storage_path('file/s.xlsx'));//输出到文件
$reader->addRow([
'name' => '姓名',
'age' => '年龄',
'email' => '邮箱',
'address' => '地址',
'times'=>'时间'
]);
$reader->addRows($result);
$reader->close();
- 读取excel的xlsx和csv
use Box\Spout\Reader\ReaderFactory;
use Box\Spout\Common\Type;
$path = storage_path('file/a.xlsx');
$type = pathinfo($path);
$type = strtolower($type["extension"]);
$type = ($type === 'xlsx')?Type::XLSX:Type::CSV;
$reader = ReaderFactory::create($type);
$reader->setShouldFormatDates(true);
if($type === 'csv'){$reader->setEncoding('GB2312');}
$reader->open($path);
$iterator = $reader->getSheetIterator();
$iterator->rewind();
$sheet1 = $iterator->current();
$rowIter = $sheet1->getRowIterator();
$data =[];
foreach ($rowIter as $rowIndex => $row) {
$data[] = $row;
}
$reader->close();
原文地址:https://www.cnblogs.com/JdsyJ/p/13680156.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 大点干!早点散----------深入剖析Redis集群原理与实验
- 微信群总是有人发广告?看我用Python写一个自动化机器人消灭他!
- 苏宁基于 ClickHouse 的大数据全链路监控实践
- CORS Cross Origin Resource Sharing
- 从0开始做播放器-第二季-第2章-Android NDK 工程的建立和 JNI 的基本用法
- 记一次线上问题排查-maven父子结构依赖所遇到的坑
- 『技术随手学』解决 pip conda install 网络故障中断
- boost asio
- 7.SwrContext音频重采样使用
- 8.ffmpeg-基础常用知识
- 9.下载ffmpeg、使QT支持同时编译32位和64位
- 10.QT-QAudioOutput类使用
- 11.QT-ffmpeg+QAudioOutput实现音频播放器
- Spring JPA 自定义删改
- LeetCode-28.实现 strStr()