laravel excel 导出乱码
在使用laravel excel 导出excel数据时,xls格式会出现乱码
一种解决办法是 导出格式变成csv
另外一种就是使用 ob_end_clean
附上自己使用laravel-admin封装的通用导出方法:针对页面的显示导出对应数据
public function export() { $file_name = date("Y-m-d") .'-'. $this->grid->model()->eloquent()->getTable(); Excel::create($file_name, function($excel) use ($file_name) { $model_name = get_class($this->grid->model()->eloquent()); $excel->sheet($file_name, function($sheet) use ($model_name) { $name = []; $label = []; foreach ($this->grid->columns() as $k => $v) { $name[] = $v->getName(); $label[] = $v->getLabel(); } $data =$this->getData(); $rows = []; foreach ($data as $k => $v) { $rows[] = array_dot($this->sanitize($v)); } $rows = collect($rows)->map(function($item) use ($name) { return array_only($item, $name); }); $rows = $this->sort_arr($rows, $name, $model_name); //dump($name); //dd($rows); $sheet->row(1, $label); $sheet->rows($rows); ob_end_clean(); }); })->export('xls');//csv }
/** * Remove indexed array. * * @param array $row * * @return array */ protected function sanitize(array $row) { return collect($row)->reject(function ($val) { return is_array($val) && !Arr::isAssoc($val); })->toArray(); } /** * @param $arr * @param $keys * @param $model_name * @return array */ public function sort_arr($arr, $keys, $model_name) { $new_arr = []; foreach ($arr as $k => $v) { foreach ($v as $kk => $vv) { if (stripos($kk, '.')) { list($l1, $l2) = explode('.', $kk); if(method_exists($l1,'_gird_'.$l2)) { $v[$kk] = call_user_func_array([ucwords($l1), '_gird_'.$l2], [$vv]); } } else { if(method_exists($model_name,'_gird_'.$kk)) { $v[$kk] = call_user_func_array([$model_name, '_gird_'.$kk], [$vv]); } } } foreach ($keys as $kk => $vv) { $new_arr[$k][$vv] = $v[$vv]; } } //dd($new_arr); return $new_arr; }
laravel excel 导出乱码相关推荐
- laravel excel 导出
1.安装 使用命令行 用 composer 安装 maatwebsite/excel 执行以下代码 composer require maatwebsite/excel Package manifes ...
- laravel8 excel导出 (本片文章推荐两种方式)
第一种简单方案 通过composer安装 插件库:maatwebsite/excel - Packagist 官网:Introduction | Laravel Excel 导出步骤:
- laravel Excel导入导出
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...
- 【laravel】【转发】laravel 导入导出excel文档
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 ...
- php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
@H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...
- php导出照片,Laravel使用 Laravel Excel文件导出图片功能
Laracel 中可以使用Laravel Excel进行Excel或者PDF的导出,使用composer进行安装此差价,Laravel-Excel将PHPExcel进行封装. 其官方文档:http:/ ...
- php导出excel出现乱码,php导出数据到excel出现乱码的解决办法
代码如下: 代码示例: /** * 导出数据到excel 解决乱码问题 * Edit www.# */ function xlsBOF() { echo pack("ssssss" ...
- .net Excel导出出现乱码及excel打开出现错误提示
测试人员测试发现.导出excel出现乱码以及出现文件可正常导出.后几次导出却异常. 使用的系统浏览器: 其他360浏览器.谷歌浏览器均正常. 出现情况如下: 查资料发现,之前导出代码编写的 Respo ...
- php excelreader 中文,如何解决php excel reader导出excel中文乱码?
解决php excel reader导出excel中文乱码的方法:1.如果不使用dump函数,可以通过修改[_defaultEncoding]变量解决问题:2.如果使用dump函数导出excel,需要 ...
最新文章
- C#中DateTime.Now.Ticks的用法和说明
- python库整理:collections.defaultdict
- HDU 6264 Super-palindrome
- 数据库自动备份还原成新库脚本
- ECshop 快捷登录插件 支持QQ 支付宝 微博
- ES6——let、参数增强、箭头函数、模板字符串、for of和解构
- linux 命令全集
- CUDA C编程权威指南 第一章
- neo4j安装_怎样安装Neo4j APOC扩展包?
- 48. action 与 filter 的执行流程
- Dev C++下载地址和安装教程(图解版)
- 安卓输入法 车机版_触宝输入法HD
- greensock下载_GreenSock动画平台初学者指南
- canvas实现2019最酷炫3D特效
- 联想台式电脑一键恢复后桌面没有计算机了,联想笔记本一键恢复功能使用教程...
- 微信小程序前端各种酷炫的动画特效实例,这一篇就够了,复制开箱就用,赶快收藏好了
- python报错NameError: name 'NA' is not defined
- 病毒木马查杀实战第026篇:“白加黑”恶意程序研究(上)
- 在公司三年跌宕起伏的经历
- Moov itom not found 详解及修复。
热门文章
- Visual Studio 2015编译运行C语言文件问题小结
- tensorflow2.0 学习笔记:一、神经网络计算
- 不是管理员计划任务不执行_为执行任务而不是老板
- 挖洞经验--绕过cdn寻找真实ip
- 嵌入式linux学习笔记-- linux 开机总时间记录的一种方案
- 安装php环境显示端口被占用,【亲测】启动PHPstudy提醒80、3306端口被占用的2种解决办法_全百科网...
- python最新技术开锁工具_这个库厉害了,自动补全 Python 代码,节省 50% 敲码时间...
- LarduinoISP for LGT8FX8D SWD通信协议源码简析
- 【css 边线实现颜色渐变】
- 送书!这本前端性能秘籍,你铁定需要!