Laravel-excel: [QUESTION] O valor da célula é retornado como falso

Criado em 27 set. 2017  ·  3Comentários  ·  Fonte: Maatwebsite/Laravel-Excel

Estou usando o Laravel Excel 2.1. Laravel 5.4.3.

Estou tentando ler um arquivo CSV. O problema é que algumas células são convertidas em false quando deveriam ser strings.

Aqui está um exemplo da primeira linha do arquivo: 11/10/2016 11:35,91,241,Dundee Students Association,Liar Bar,dusa-2988,Payment,�1.80,�0.00,�1.80 . é na verdade \ufffd .

O problema diz respeito apenas às três últimas linhas. Quando eu li o arquivo:

Excel::filter('chunk')->load($file_path)->chunk(250, function($sheets_collection)
{
    foreach ($sheets_collection as $current_sheet) {
        foreach ($current_sheet as $current_row) {
            // process $current_row
        }
    }
}, 'UTF-8');

$ current_row contém os valores corretos para tudo, exceto as três últimas células que contêm apenas false . Em vez de ser falso, gostaria de obter strings.

No entanto, se eu remover todos os apenas da primeira linha, funcionará bem não apenas para a primeira linha, mas também para o resto!
A primeira linha é lida como a seguinte matriz: ["11\/10\/2016 11:35",91,241,"Dundee Students Association","Liar Bar","dusa-2988","Payment",1.8,0,1.8] .
A segunda linha é lida como a seguinte matriz: ["11\/10\/2016 11:35",91,241,"Dundee Students Association","Liar Bar","dusa-3461","Payment","\ufffd1.10","\ufffd0.00","\ufffd1.10"] . Todas as linhas subsequentes são lidas de maneira semelhante à segunda linha.
Não consigo limpar a primeira linha de cada arquivo que pretendo processar, então há uma maneira de configurar o Laravel-Excel para buscar o valor da célula corretamente como uma string?

Comentários muito úteis

@ marijnz0r Muito obrigado!
Eu costumava ter um problema como este com o personagem °.
Para resolver meu problema, fiz isso:
Config::set('excel.import.encoding.input', 'windows-1252'); Config::set('excel.import.encoding.output', 'windows-1252');

Todos 3 comentários

O mesmo problema surge para mim ao usar caracteres como e é . Você já encontrou uma solução?
Editar: alterar a codificação de caracteres para windows-1252 funcionou para mim.

@ marijnz0r Muito obrigado!
Eu costumava ter um problema como este com o personagem °.
Para resolver meu problema, fiz isso:
Config::set('excel.import.encoding.input', 'windows-1252'); Config::set('excel.import.encoding.output', 'windows-1252');

Tks ajuda muito!

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