Laravel-excel安装及使用
1、
在根目录下的composer.json下的require中加入"maatwebsite/excel": "2.*"
如图所示:
2、
使用composer update
更新composer
这里要耐心等待
更新完毕。
但是查看了一下vendor目录下面没有出现maatwebsite目录,所以表明安装不成功。
解决办法:
从第一步开始,先把在根目录下的composer.json下的require中加入"maatwebsite/excel": "2.*"中的2改为1,即:"maatwebsite/excel": "1.*",接着使用composer update,直到出现如图所示的两个更新,
vendor下面将会出现maatwebsite目录。接下来,将刚刚修改的根目录下的composer.json中的require中加入"maatwebsite/excel": "1.*"
中的1改为原来的2,再运行composer update
,会出现如图所示的更新:
将低版本的删除更新为最新版本的。
3、
然后添加'Maatwebsite\Excel\ExcelServiceProvider',
到config/app.php中的providers数组中
添加'Excel' => 'Maatwebsite\Excel\Facades\Excel',
到aliases数组中。
4、
执行命令:php artisan vendor:publish
现在已经安装成功了!
Laravel excel的最新版本地址:http://www.maatwebsite.nl/laravel-excel/docs
使用:
在controller中引用
use Maatwebsite\Excel\Facades\Excel;
/**
* 导出excel
*/
function exportExcel() {
$data = array(
array('data1', 'data2'),
array('data3', 'data4')
);
Excel::create('Filename', function($excel) use($data) {
$excel->sheet('SheetnameLee', function($sheet) use($data) {
$sheet->prependRow(1, array(
'prepended 001', 'prepended 002'
));
$sheet->setSize(array(
'A1' => array(
'width' => 30,
'height' => 20
)
));
for($i=2; $i<10; $i++){
$sheet->row($i, array(
'test'.$i, 'test'.($i+1)
));
}//end for()
});
$excel->sheet('First sheet', function($sheet) {
$sheet->row(1, array(
'test1', 'test2'
));
});
// Our second sheet
$excel->sheet('Second sheet', function($sheet) {
$sheet->fromArray(array(
array('data1', 'data2'),
array('data3', 'data4')
));
});
})->export('xls');
}//end func exportExcel();
注意:在导出excel之前不要有任何的php输出,如echo、print等,不然导出的excel全都是乱码。
英文比较棒的朋友可以参考:http://www.maatwebsite.nl/laravel-excel/docs/getting-started#installation
---------------------
以上为转载部分
原文链接:https://blog.****.net/leedaning/article/details/46549979
——————————————————————这是一条可爱的分割线—————————————————————————
我的一些变动:
config/app.php中的配置providers、aliases,使用的是如下格式
php端代码
public function exportExcel(){
$result = ComBigSubProjectService::getEnroll();
$data[0] = ["姓名","性别","年龄","电话","地区","项目","状态"];
foreach ($result as $k=>$v){
$k ++;
$data[$k]['name'] = $v['userInfo']['name'];
$data[$k]['sex'] = $v['userInfo']['sexStr'];
$data[$k]['age'] = $v['userInfo']['age'];
$data[$k]['phone'] = $v['userInfo']['phone'];
if($v['userInfo']['area'] != null){
$data[$k]['area'] = $v['userInfo']['area']['name'];
}else{
$data[$k]['area'] = '暂无';
}
if($v['project_info_id'] == 0){
$data[$k]['project'] = '未提交';
}else{
$data[$k]['project'] = '已提交';
}
if($v['status'] == 0){
$data[$k]['status'] = '正常';
}else{
$data[$k]['status'] = '已拒绝';
}
}
Excel::create('报名数据',function($excel) use ($data){
$excel->sheet('报名', function($sheet) use ($data){
$sheet->rows($data);
});
})->export('xls');
}
前端代码(使用get提交):
function exportExcel(){
location.href="<?php echo e(url("comBigSub/enroll/exportExcel")); ?>";
}