Rock笔记
~/rocknotes/articles/221.md article
// article · laravel

【笔记】Maatwebsite/Excel 解决方法集锦


官方文档:http://www.maatwebsite.nl/laravel-excel/docs/getting-started

关于导入

1.关于中文乱码

Excel::load('filename.csv', function($reader) {

}, 'UTF-8');

或者在配置文件 excel.php(在安装这个模块的文档有介绍怎么生成这个文件)

'to_ascii'                => false, //主要修复一些乱码


2.导入xlsx文件时只读取第一个sheet并且转化为数组

$data = Excel::load($request->file('file'), 'GB18030', function($reader) {
            
}, 'UTF-8')->all();

$dataArr = $data->first()->toArray();


3.导入的excel里单元格存在换行的数据,要去掉换行字符

str_replace(chr(10),'',str_replace('\n','',$data));



关于导出

1.数据量大时导出超时,可导出为excle能够解析的txt文件,再用excel打开(\t:分隔单元格;\r\n换行)

$str.=$name1."\t".$name2."\r\n";


2.导出中文文件名乱码,使用iconv('UTF-8', 'GBK', '文件名')

$filename = '学生成绩表';
Excel::create(iconv('UTF-8', 'GBK', $filename), function($excel) use ($filename,$data) {
    $excel->sheet($filename, function($sheet) use ($data) {
        ...
    });
})->export('xlsx');

回复// 0 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →