Vous voulez télécharger le fichier CSV dans la base de données MySQL, télécharger uniquement les colonnes sélectionnées, les autres seront vides lorsque le téléchargement a une option pour sélectionner la colonne ou le champ que vous souhaitez télécharger et télécharger uniquement sélectionné, comment puis-je faire pour que quiconque ait une solution

0
itxrahulsingh 4 nov. 2019 à 08:39

1 réponse

Vous avez besoin d'une bibliothèque pour exporter / importer des fichiers Excel / CSV dans la base de données.

Il y a beaucoup de solutions. Vous pouvez utiliser par exemple: https://docs.laravel-excel.com/3.1/imports/

Vous pouvez installer ce package par Composer.

Usage:

namespace App\Imports;

use App\User;
use Illuminate\Support\Facades\Hash;
use Maatwebsite\Excel\Concerns\ToModel;

class UsersImport implements ToModel
{
    /**
     * @param array $row
     *
     * @return User|null
     */
    public function model(array $row)
    {
        return new User([
           'name'     => $row[0],
           'email'    => $row[1], 
           'password' => Hash::make($row[2]),
        ]);
    }
}

Comment importer certaines colonnes? https://docs.laravel-excel.com/3.1/imports/collection.html

namespace App\Imports;

use App\User;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class UsersImport implements ToCollection
{
    public function collection(Collection $rows)
    {
        foreach ($rows as $row) 
        {
            User::create([
                'name' => $row[0], // Here select ROW - 0 is the first row from your CSV
            ]);
        }
    }
}

public function import() 
{
    Excel::import(new UsersImport, 'users.xlsx');
}

Bonne chance!

0
Adam Kozlowski 4 nov. 2019 à 08:00