Laravel-excel: Gibt es eine Möglichkeit, die erste Zeile (Kopfzeile) zu überspringen?

Erstellt am 2. Mai 2019  ·  5Kommentare  ·  Quelle: Maatwebsite/Laravel-Excel

Versionen

  • PHP-Version: 7.2.17
  • Laravel-Version: 5.8.15
  • Paketversion: 3.1

Beschreibung

Gibt es eine Möglichkeit, die Kopfzeile zu überspringen und den Import ab der 2. Zeile zu starten?

Mögen:

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

Aber ab der zweiten Reihe? Ich muss mich also nicht um meine Kopfzeilennamen kümmern, sondern nur um die Reihenfolge meiner Spalten.

Hilfreichster Kommentar

Ich habe es gelöst mit

class UsersImport implements ToModel, WithStartRow
{
    ...

    /**
     * <strong i="6">@return</strong> int
     */
    public function startRow(): int
    {
        return 2;
    }
}

Alle 5 Kommentare

Ich habe es gelöst mit

class UsersImport implements ToModel, WithStartRow
{
    ...

    /**
     * <strong i="6">@return</strong> int
     */
    public function startRow(): int
    {
        return 2;
    }
}

Ich weiß, dass Sie dies bereits gelöst haben, aber es gibt eine integrierte Möglichkeit, dies zu tun: WithHeadingRow

Ich weiß, dass Sie dies bereits gelöst haben, aber es gibt eine integrierte Möglichkeit, dies zu tun: WithHeadingRow

Aber wenn Sie WithHeadingRow , können Sie nicht auf Zeilenelemente nach Index zugreifen

nett!

Ich weiß, dass es geschlossen ist, aber wenn Sie die Methode von @lcardosozago verwenden, vergessen Sie nicht hinzuzufügen:

use Maatwebsite\Excel\Concerns\WithStartRow;

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen