Estoy usando Laravel 5.8 y agregué el paquete Maatwebsite para exportar archivos CSV desde una tabla de base de datos.
Y aquí está mi clase exportada:
class ConfirmedExport implements FromCollection, WithHeadings { public function headings():array{ return [ ]; } public function collection() { return collect(WithdrawWallet::getData()); } }Y el resultado se ve así:
"123456789","2100","Desc","lname","fname" Pero necesito eliminar las comillas dobles ( " " ) de las palabras, por lo que el resultado esperado se ve así:
123456789,2100,Desc,lname,fnameEntonces, ¿cómo hacer eso?
ACTUALIZACIÓN #1:
Acabo de probar este código para exportar clase:
namespace App\Exports; use App\WithdrawWallet; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; class ConfirmedExport implements FromCollection, WithHeadings { public function headings():array{ return [ ]; } public function collection() { return collect(WithdrawWallet::getData()); } public function getCsvSettings(): array { return [ 'enclosure' => '' ]; } } Y elimina con éxito el " " del último elemento (que es: 123456789 ), ¡pero aún muestra el " " para los otros!
@nagidi después de publicar la configuración, puede cambiar esto en la configuración.
Ejecute el siguiente comando:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config Eliminar " (comillas dobles) de 'recinto' en config/excel.php
'exports' => [ 'csv' => [ 'enclosure' => '', // was '"' // other settings ], ], Ahora sus valores de exportación csv ya no contienen el " recinto.
Si desea cambiar esta configuración por exportación, puede implementar WithCustomCsvSettings Concern y agregar el método getCsvSettings a su clase ConfirmedExport :
use Maatwebsite\Excel\Concerns\WithCustomCsvSettings; class ConfirmedExport implements WithCustomCsvSettings { // other code public function getCsvSettings(): array { return [ 'enclosure' => '' ]; } }