1:首先在项目的composer.json 中添加
"maatwebsite/excel": "~2.1.0" (根据自己框架选择版本)
2:接下来运行
composer update 命令
3:运行完成后再
app/config/app.php
配置文件中分别添加
Maatwebsite\Excel\ExcelServiceProvider::class,
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
4:添加完成后运行
php artisan vendor:publish
5:接下来就可以使用了
在最上面引入
use Excel;
if(!$request->hasFile('file')){
exit('上传文件为空!');
$file = $_FILES;
$excel_file_path = $file['file']['tmp_name'];
$res = [];
Excel::load($excel_file_path, function($reader) use( &$res ) {
$reader = $reader->getSheet(0);
$res = $reader->toArray();
$num_add=0;
for($i = 0;$i<count($res);$i++){
if(count($list) == 0){
return '未知的号码';
}else{
$cellData = [
['号码','(日)下周期流量模组','(日)下周期语音模组','(月)近三月平均计费流量','(月)近三月平均账单费用(财务科目分摊后)','所属公司','时间'],
foreach ($list as $data){
$data = [$data->mobile,$data->flow,$data->voice,$data->trimester,$data->trimester_mean,$data->belong,$data->created_at];
array_push($cellData,$data);
Excel::create($request->tel,function($excel) use ($cellData) {
$excel->sheet('score', function($sheet) use ($cellData) {$sheet->rows($cellData);});
})->export('xls');
总结:以上方法仅适用了我在实际业务场景中限制表格20000条操作,并且生产服务器的运行内存是2个G,如果有更大数据量的要求建议走WithChunkReading,这个方法实现了异步分块读取数据。问题描述 :用户上传excel表格,php程序读取表格数据,由于表格不规范出现大量空行数据(列和行都存在同样的问题),导致读取表格数据时内存溢出。我是使用Excel的import读取表格数据的第一个参数是我们自己定义的表格数据处理实现类用来接收读取的数据。我们的处理类必须实现以上的三个接口类。
Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Excel读写 Exc
1. 下载依赖:https://github.com/PHPOffice/PHPExcel;
2. 下载完成后,将PHPExcel文件夹放在laravel的vendor目录下;
3. 在你需要使用的控制器引用:
use PHPExcel_IOFactory;
use PHPExcel;
4. 例子:读取Excel:
// 读取excel
// $excel_file是excel文件的绝对路径;$start_row是起始行,默认2;$end_row是截至行,默认.
昨天讲了如何利用Laravel的Excel扩展类去创建一个excel文件,今天来讲讲如何读取一个excel文件,这个在我们日常开发中经常遇到。比如,做一个excel导入功能,读取excel里的数据,并存进数据库中。这时候就需要今天讲到的知识点了。
下面是代码:
public function loadExcelForUser(){
$file = storage_path('app/public/excel/user.xlsx');//获取\storage\app\public\excel\user
//print_r($file);die;
if($file -> isValid()) {
$clientName = $file -> getClientOriginalName(); //客户端文件...
安装composer安装composer require maatwebsite/excel配置provider'providers' => [/** Package Service Providers...*/Maatwebsite\Excel\ExcelServiceProvider::class,]配置aliases'aliases' => [...'Excel' => M...
程序中经常要用到EXCEL表格操作。maatwebsite/excel是一个不错的程序包。项目地址https://github.com/Maatwebsite/Laravel-Excel官方文档:http://www.maatwebsite.nl/laravel-excel/docs/getting-started#installation安装方法。1, 项目的composer.json 中添加"...
laravel 项目从 5.2 升级到了 5.7,Excel 的导入导出,使用的 maatwebsite/excel laravel-excel 依赖包,也从 2.* 升级到了 3.*,发现不能用了,打开文档一看,这尼玛改动也太大了吧,完全不能使用的节奏啊!
先分享几个链接:
github 地址:
https://github.com/Maatwebsite/Laravel-Excel