1
resposta

Receber arquivo do usuário e mostrar planilha na tela

Boa tarde,

Tenho um formulário que têm algumas questões e uma delas é para receber um arquivo em EXCEL, CSV, TXT... O que ficar mais fácil...Neste arquivo haverá planilhas com dados e eu quero que o sistema carregue essa planilha e a mostre em tempo real para o usuário.

ou seja, o usuário foi lá e começou a preencher o formulário, chegou na questão X e ele escolheu um arquivo do computador que carregou dados na tela para ele, depois ele continuou preenchendo o resto das coisas e apertou em salvar... Neste ponto, tudo foi salvo no banco de dados.

1 resposta

Olá, William! Tudo certo?

Peço desculpas pela demora no retorno a sua mensagem.

Primeiramente, você precisa criar um formulário em HTML que tenha um campo do tipo "file" para receber o arquivo do usuário. Por exemplo:

<form action="processar.php" method="POST" enctype="multipart/form-data">
  <input type="file" name="arquivo">
  <input type="submit" value="Enviar">
</form>

Em seguida, você precisa criar um arquivo PHP chamado "processar.php" (conforme definido no atributo "action" do formulário) para processar o arquivo enviado pelo usuário. Por exemplo:

<?php
if(isset($_FILES['arquivo'])){
  $nomeArquivo = $_FILES['arquivo']['name'];
  $tempArquivo = $_FILES['arquivo']['tmp_name'];
  
  // Aqui você pode fazer o tratamento necessário no arquivo, como salvar em um diretório específico ou realizar a leitura dos dados da planilha.
  // Por exemplo, você pode utilizar a biblioteca PHPExcel para ler os dados de um arquivo Excel.
  
  // Após o processamento do arquivo, você pode exibir os dados da planilha em tempo real para o usuário.
  // Por exemplo, você pode utilizar a biblioteca DataTables para exibir os dados em uma tabela interativa.
}
?>

Lembre-se de que esses são apenas exemplos básicos e você precisará adaptá-los de acordo com suas necessidades. Além disso, é importante garantir a segurança do sistema, validando e filtrando os dados recebidos do usuário.

Todavia, vale ressaltar que como você postou sua pergunta há algum tempo é possível que a constante evolução da tecnologia impacte na resolução da sua dúvida. Sendo assim, caso queira se aprofundar neste tema e com conteúdos atualizados, recomendo a formação abaixo:

Espero ter ajudado e bons estudos!