Laravel-excel: Nenhum ReaderType ou WriterType foi detectado

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

Estou recebendo esse problema na importação de arquivos do Excel no servidor web. Mas isso está funcionando bem no servidor local.

Maatwebsite \ Excel \ Exceções \ NoTypeDetectedException
Nenhum ReaderType ou WriterType pôde ser detectado. Certifique-se de passar uma extensão válida para o nome do arquivo ou passar um tipo explícito.

Por favor, ajude a resolver este problema.

more information needed

Comentários muito úteis

Como complemento:

Se nada funcionar. Você deve verificar o atributo enctype do seu formulário HTML

assim: enctype="multipart/form-data"

ou

assim: <form action="/action" method="post" enctype="multipart/form-data">

você deve incluir este enctype ou causará o seguinte erro:

No ReaderType or WriterType could be detected. Make sure you either pass a valid extension to the filename or pass an explicit type

Todos 18 comentários

Obrigado por enviar o boleto. Infelizmente as informações que você forneceu estão incompletas. Precisamos saber qual versão você usa e como reproduzi-la. Por favor, inclua exemplos de código. Antes que possamos pegá-lo, verifique (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/ISSUE_TEMPLATE.md) e adicione as informações que faltam. Para tornar o processamento deste ticket muito mais fácil, certifique-se de verificar (https://laravel-excel.maatwebsite.nl/3.1/getting-started/contributing.html) e verifique novamente se você preencheu o modelo de problema corretamente. Isso nos permitirá retirar seu bilhete com mais eficiência. Questões que seguem as diretrizes corretamente terão prioridade sobre outras questões.

Eu acho que a mensagem de exceção é bastante clara. Certifique-se de que tenha uma extensão, ou seja explícito e passe um tipo de escritor/leitor.

Erro foi resolvido. Eu estava enviando um caminho de arquivo errado para importar.
Obrigado por ser ajuda.

Fico feliz em saber que seu problema foi resolvido. Obrigado por usar o Laravel Excel!

Erro foi resolvido. Eu estava enviando um caminho de arquivo errado para importar.
Obrigado por ser ajuda.

Mesmo erro que também estou enfrentando, você pode dizer onde mencionou o caminho do arquivo. já que estou usando getRealPath() para obter o arquivo de upload e diretamente usando o Excel::import

Erro foi resolvido. Eu estava enviando um caminho de arquivo errado para importar.
Obrigado por ser ajuda.

Mesmo erro que também estou enfrentando, você pode dizer onde mencionou o caminho do arquivo. já que estou usando getRealPath() para obter o arquivo de upload e diretamente usando o Excel::import

Obrigado .. eu resolvi o problema, da mesma forma que você mencionou

alguém pode me ajudar com este problema `Nenhum ReaderType ou WriterType pode ser detectado. Certifique-se de passar uma extensão válida para o nome do arquivo ou passar um tipo explícito.
' estou recebendo este erro depois de fazer a implantação no heroku

alguém pode me ajudar com este problema `Nenhum ReaderType ou WriterType pode ser detectado. Certifique-se de passar uma extensão válida para o nome do arquivo ou passar um tipo explícito.
' estou recebendo este erro depois de fazer a implantação no heroku

Crie um novo ticket com o modelo de problema preenchido. O modelo de problema é necessário para que possamos ajudá-lo e está automaticamente disponível para você ao abrir um novo problema. Não remova o conteúdo do modelo de problema.

alguém pode me ajudar como fazer upload do arquivo utf-8 csv. estou enfrentando como este erro: Maatwebsite \ Excel \ Exceptions \ NoTypeDetectedException
Nenhum ReaderType ou WriterType pôde ser detectado. Certifique-se de passar uma extensão válida para o nome do arquivo ou passar um tipo explícito.

Mesmo erro que também estou enfrentando, você pode dizer onde mencionou o caminho do arquivo. já que estou usando getRealPath() para obter o arquivo de upload e diretamente usando o Excel::import

Isso não funcionará, o caminho real não tem uma extensão, então não podemos adivinhar o tipo de leitor. Passe a instância de arquivo carregada ou o tipo de leitor explicitamente

O problema é o getRealPath()
Encontrei a solução aqui:

https://stackoverflow.com/a/57106453/12226621

em vez de
$path = $request->file('mcafile')->getRealPath();

armazene-o em um temp , obtenha esse caminho e envie-o para a função de importação

$path1 = $request->file('mcafile')->store('temp'); 
$path=storage_path('app').'/'.$path1;  
$data = \Excel::import(new UsersImport,$path);

Você pode apenas passar o arquivo enviado: \Excel::import(new UsersImport, $request->file('mcafile'))

Se você estiver no Cent OS, ele armazena o arquivo temporário sem extensão. Então, basta renomear um arquivo temporário e adicionar uma extensão tmp .

Meu código como abaixo está funcionando:

$tmpfname = request()->file('userfile')->getPathName();
rename($tmpfname, $tmpfname .= '.tmp');

Como complemento:

Se nada funcionar. Você deve verificar o atributo enctype do seu formulário HTML

assim: enctype="multipart/form-data"

ou

assim: <form action="/action" method="post" enctype="multipart/form-data">

você deve incluir este enctype ou causará o seguinte erro:

No ReaderType or WriterType could be detected. Make sure you either pass a valid extension to the filename or pass an explicit type

Maatwebsite\Excel\Exceptions\NoTypeDetectedException

Nenhum ReaderType ou WriterType pôde ser detectado. Certifique-se de passar uma extensão válida para o nome do arquivo ou passar um tipo explícito.

este é o meu controlador:

{
        Excel::import(new MedicineImport(Auth::user()->id), request()->file('select_file'));

        return redirect('subscriber/medicine/imp')->with('success', 'All good!');
    }

e este é o meu formulário:

<form method="get" enctype="multipart/form-data" action="{{ url('subscriber/medicine/imp/impEx') }}">
    {{ csrf_field() }}

<label>Select File for Upload</label>
        <input type="file" name="select_file" />
        <input type="submit" name="upload" class="btn btn-primary" value="Upload">
   </form>

por favor me diga por que está mostrando esse erro e estou usando 3.1

Olá, eu tenho um problema aqui no acima! preciso da sua ajuda por favor.

Erro foi resolvido. Eu estava enviando um caminho de arquivo errado para importar.
Obrigado por ser ajuda.

você pode compartilhar aqui. o que você fez?

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