在使用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 导出乱码相关推荐

  1. laravel excel 导出

    1.安装 使用命令行 用 composer 安装 maatwebsite/excel 执行以下代码 composer require maatwebsite/excel Package manifes ...

  2. laravel8 excel导出 (本片文章推荐两种方式)

    第一种简单方案 通过composer安装 插件库:maatwebsite/excel - Packagist 官网:Introduction | Laravel Excel 导出步骤:

  3. laravel Excel导入导出

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

  4. 【laravel】【转发】laravel 导入导出excel文档

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  5. php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    @H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...

  6. php导出照片,Laravel使用 Laravel Excel文件导出图片功能

    Laracel 中可以使用Laravel Excel进行Excel或者PDF的导出,使用composer进行安装此差价,Laravel-Excel将PHPExcel进行封装. 其官方文档:http:/ ...

  7. php导出excel出现乱码,php导出数据到excel出现乱码的解决办法

    代码如下: 代码示例: /** * 导出数据到excel 解决乱码问题 * Edit www.# */ function xlsBOF() { echo pack("ssssss" ...

  8. .net Excel导出出现乱码及excel打开出现错误提示

    测试人员测试发现.导出excel出现乱码以及出现文件可正常导出.后几次导出却异常. 使用的系统浏览器: 其他360浏览器.谷歌浏览器均正常. 出现情况如下: 查资料发现,之前导出代码编写的 Respo ...

  9. php excelreader 中文,如何解决php excel reader导出excel中文乱码?

    解决php excel reader导出excel中文乱码的方法:1.如果不使用dump函数,可以通过修改[_defaultEncoding]变量解决问题:2.如果使用dump函数导出excel,需要 ...

最新文章

  1. C#中DateTime.Now.Ticks的用法和说明
  2. python库整理:collections.defaultdict
  3. HDU 6264 Super-palindrome
  4. 数据库自动备份还原成新库脚本
  5. ECshop 快捷登录插件 支持QQ 支付宝 微博
  6. ES6——let、参数增强、箭头函数、模板字符串、for of和解构
  7. linux 命令全集
  8. CUDA C编程权威指南 第一章
  9. neo4j安装_怎样安装Neo4j APOC扩展包?
  10. 48. action 与 filter 的执行流程
  11. Dev C++下载地址和安装教程(图解版)
  12. 安卓输入法 车机版_触宝输入法HD
  13. greensock下载_GreenSock动画平台初学者指南
  14. canvas实现2019最酷炫3D特效
  15. 联想台式电脑一键恢复后桌面没有计算机了,联想笔记本一键恢复功能使用教程...
  16. 微信小程序前端各种酷炫的动画特效实例,这一篇就够了,复制开箱就用,赶快收藏好了
  17. python报错NameError: name 'NA' is not defined
  18. 病毒木马查杀实战第026篇:“白加黑”恶意程序研究(上)
  19. 在公司三年跌宕起伏的经历
  20. Moov itom not found 详解及修复。

热门文章

  1. Visual Studio 2015编译运行C语言文件问题小结
  2. tensorflow2.0 学习笔记:一、神经网络计算
  3. 不是管理员计划任务不执行_为执行任务而不是老板
  4. 挖洞经验--绕过cdn寻找真实ip
  5. 嵌入式linux学习笔记-- linux 开机总时间记录的一种方案
  6. 安装php环境显示端口被占用,【亲测】启动PHPstudy提醒80、3306端口被占用的2种解决办法_全百科网...
  7. python最新技术开锁工具_这个库厉害了,自动补全 Python 代码,节省 50% 敲码时间...
  8. LarduinoISP for LGT8FX8D SWD通信协议源码简析
  9. 【css 边线实现颜色渐变】
  10. 送书!这本前端性能秘籍,你铁定需要!