Excel导入导出maatwebsite/excel在laravel5,5项目中的实例
2018-01-16 00:00
477 查看
第一步,在composer.json文件写入"maatwebsite/excel":"2.1.23"
第二步,dom(终端切入到laravel5.5项目的composer.json文件目录下
第三步,使用中国镜像https://pkg.phpcomposer.com/ ,
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
第四步,执行命令composer install ,然后执行composer update即可
第五步,安装后的设置
在 config/app.php 中注册服务提供者到 providers 数组:
Maatwebsite\Excel\ExcelServiceProvider::class,
同样在 config/app.php 中注册门面到 aliases 数组:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:
php artisan vendor:publish
执行成功后会在 config 目录下生成一个配置文件 excel.php 。
代码实例
首先use Excel;
//Excel文件导出功能
//辅助核算项目导入
第二步,dom(终端切入到laravel5.5项目的composer.json文件目录下
第三步,使用中国镜像https://pkg.phpcomposer.com/ ,
修改当前项目的 composer.json 配置文件:
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
第四步,执行命令composer install ,然后执行composer update即可
第五步,安装后的设置
在 config/app.php 中注册服务提供者到 providers 数组:
Maatwebsite\Excel\ExcelServiceProvider::class,
同样在 config/app.php 中注册门面到 aliases 数组:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:
php artisan vendor:publish
执行成功后会在 config 目录下生成一个配置文件 excel.php 。
代码实例
首先use Excel;
//Excel文件导出功能
public function km_export(){ $res = DB::table('glacct')->get(); //var_dump($res);exit; $cellData[] = ['**','名称','类别','**','余额方向','数量']; foreach ($res as $k => $v) { $cellData[] = [$v->FAcctID,$v->FAcctName,$v->FGroup,$v->FClsID,$v->FDC,$v->FUnit]; } //var_dump($cellData);exit; $date=date("YmdHim"); Excel::create($date.'科目列表',function($excel) use ($cellData){ $excel->sheet('score', function($sheet) use ($cellData){ $sheet->rows($cellData); }); })->export('xls'); }
//辅助核算项目导入
public function ass_import(Request $request,$id){ //获取表名 $cls = DB::table('glcls')->where('fclsid',$id)->first(); $table = $cls->FObjTableName; //var_dump($table);exit; if($request -> hasFile('excel')){ // 获取文件后缀名 $exe = $request -> file('excel') -> getClientOriginalExtension(); if($exe != 'xls'){ return response()->json(array('code'=>500,'msg'=>'请上传.xls文件')); } $time = date("YmdHim"); $temp_name = $time.'辅助核算'; //$name = iconv('UTF-8', 'GBK', $temp_name).'.'.$exe; $name = $temp_name.'.'.$exe; $date = date('Ymd',time()); //Sdd($name); $request -> file('excel') -> move('./files/'.$date,$name); } $filePath = './files/'.$date.'/'.$name; $res = []; Excel::load($filePath, function($reader) use( &$res ) { $reader = $reader->getSheet(0); $res = $reader->toArray(); }); unset($res[0]); //var_dump($res);exit; foreach ($res as $k => $v) { // if($v[0] == 'NULL'|| $v[1] == 'NULL'){ // continue; // } //辅助编码不能重复(核算项目表globj,当前辅助核算表$table) $repeat_obj = DB::table('globj')->where('FObjID',$v[0])->first(); $repeat_obj1 = DB::table("$table")->where('FObjID',$v[0])->first(); if(!empty($repeat_obj) && !empty($repeat_obj1)){ continue; //return Response()->json(array('code'=>0,'msg'=>'编码已存在,操作失败'));exit; } if($v[1] == NULL){ break; } $arr = array( 'FClsID'=>$id, 'FObjID'=>$v[0] ); $arr1 = array( 'FClsID'=>$id, 'FObjID'=>'"'.$v[0].'"', 'FObjName'=>'"'.$v[1].'"', 'FDeleted'=> 0, 'FLevel'=>1, 'FDetail'=>1, 'FFullPath'=>$id.'*'.'"'.$v[0].'"' ); //var_dump($arr1);exit; $result = DB::table("$table")->insert($arr); $result2 = DB::table('globj')->insert($arr1); } if(file_exists($filePath)){ unlink($filePath); }else{ echo '该文件不存在'; } return response()->json(array('code'=>200,'msg'=>'导入成功')); }
相关文章推荐
- 在 Laravel 使用扩展包maatwebsite/excel 实现 Excel/CSV 文件导入导出功能
- js导入导出excel(实例代码)
- NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中
- 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作
- 框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第一篇
- C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]
- PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/classname
- php导入导出excel实例
- C# WinForm使用Aspose.Cells.dll 导出导入Excel/Doc 完整实例教程
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第二篇
- java中使用jxl导入导出excel实例及其在spring mvc中的应用
- J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis)(3)Ajax使用详解(级联列表)以及企业级报表Excel导入导出实现
- excel导入和导出实例
- 023医疗项目-模块二:药品目录的导入导出-从数据库中查出数据用XSSF导出excel并存放在虚拟目录最后下载(包括调试)
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第一篇
- Spring (八) 使用jxl导入导出excel实例及其在spring mvc中的应用
- ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
- 022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装
- POI导出excel项目(webwork)实例