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();
让每一滴智慧绘制成一条不归路!
分类:
Laravel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗