Laravel-excel: Existe uma maneira de pular a primeira linha (cabeçalho)?

Criado em 2 mai. 2019  ·  5Comentários  ·  Fonte: Maatwebsite/Laravel-Excel

Versões

  • Versão PHP: 7.2.17
  • Versão do Laravel: 5.8.15
  • Versão do pacote: 3.1

Descrição

Existe uma maneira de pular a linha do cabeçalho e começar a importar a partir da 2ª linha?

Gostar:

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]),
        ]);
    }
}

Mas a partir da segunda linha? Portanto, não preciso me preocupar com os nomes dos meus cabeçalhos, apenas com a ordem das minhas colunas.

Comentários muito úteis

Eu resolvi com

class UsersImport implements ToModel, WithStartRow
{
    ...

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

Todos 5 comentários

Eu resolvi com

class UsersImport implements ToModel, WithStartRow
{
    ...

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

Eu sei que você já resolveu isso, mas há uma maneira integrada de fazer isso: WithHeadingRow

Eu sei que você já resolveu isso, mas há uma maneira integrada de fazer isso: WithHeadingRow

Mas se você usar WithHeadingRow você não pode acessar os itens da linha por índice

legais!

Eu sei que está fechado, mas se você usar o método de @lcardosozago , não se esqueça de adicionar:

use Maatwebsite\Excel\Concerns\WithStartRow;

Esta página foi útil?
0 / 5 - 0 avaliações