如何更改csv导出的列的格式-Laravel Excel
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改csv导出的列的格式-Laravel Excel相关的知识,希望对你有一定的参考价值。
我用laravel-excel 3.1
导出了一个csv文件,并且在检查值时将其括在引号中,因此它们以字符串形式导出,但我需要将其键入数字类型中]]
导出的csv文件:
"ano_plantacion","zona","sitio","manejo","sup_ha","codigo","rpend" "2018","87","3","10","30.69","2042201801","" "2017","87","3","10","14.86","2042201701",""
我想要或应该是:
ano_plantacion,zona,sitio,manejo,sup_ha,codigo,rpend 2018,87,3,10,30.69,2042201801, 2017,87,3,10,14.86,2042201701,
Class SuperImport:
<?php namespace App\Exports; use App\Super; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; use PhpOffice\PhpSpreadsheet\Style\NumberFormat; use Maatwebsite\Excel\Concerns\WithColumnFormatting; class SuperExport implements FromCollection,WithHeadings, WithColumnFormatting use Exportable; protected $superficie; public function __construct($superficie = null) $this->superficie = $superficie; public function headings(): array return [ 'ano_plantacion', 'zona', 'sitio', 'manejo', 'sup_ha', 'codigo', 'rpend', ]; public function columnFormats(): array return [ 'A' => NumberFormat::FORMAT_GENERAL, 'B' => NumberFormat::FORMAT_GENERAL, 'C' => NumberFormat::FORMAT_GENERAL, 'D' => NumberFormat::FORMAT_GENERAL, 'E' => NumberFormat::FORMAT_GENERAL, 'F' => NumberFormat::FORMAT_GENERAL, 'G' => NumberFormat::FORMAT_GENERAL, ]; /** * @return \Illuminate\Support\Collection */ public function collection() return $this->superficie ?: Super::all();
控制器:
$super = Super::select('ano_plantacion','zona','sitio', 'manejo','sup_ha','codigo','rpend')->get(); Excel::store( new SuperExport($super), 'export/Super.csv' );
假设使用
columnFormats()
方法可以更改格式,但是我在文档中看不到可用的格式,并且在执行代码时问题仍然存在。
Help pls:(
我使用laravel-excel 3.1导出了一个csv文件,并且在检查值时将其括在引号中,因此它们将以字符串形式导出,但是我需要将其以类型编号导出csv文件:“ ...
答案
我找到了另一个解决方案,而不是使用laravel excel,而是尝试了另一个库:https://github.com/rap2hpoutre/fast-excel
以上是关于如何更改csv导出的列的格式-Laravel Excel的主要内容,如果未能解决你的问题,请参考以下文章
怎样用宏把EXCEL里C列的数据全部自动导出保存为CSV格式?
R数据导入导出: read.table()和read.csv()的区别