Jump to content
  • 0
olucaslima

Importar Planilha Excel no MySQL com PHP

Question

Bom dia, amigos!

Acho que é a minha primeira interação aqui no fórum depois de anos de cadastrado, mas provavelmente o início de uma intensa troca de conhecimento.

É o seguinte;

Eu tenho uma Planilha Excel  pra importar no banco de dados MySQL com o PHP, fiz uns testes de impressão e com uma planilha com poucos campos e linhas imprime numa boa, porém a planilha que preciso importar tem pelo menos 56 campos e pelo menos 1400 linhas. 
Daí pergunto a vocês: Qual o máximo de colunas e linhas de uma planilha Excel, seja xml ou xls, eu consigo imprimir na tela com o PHP e até mesmo importar no banco MySQL?
 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Diego, obrigado pela atenção!

Então, finalmente consegui imprimir a planilha na tela com a biblioteca PHPExcel, agora preciso de uma aplicação para selecionar o arquivo e enviar as informações para tabela MySQL.
Vou tentar criar uma aplicação com o método POST para inserir na base, postarei as minhas próximas dúvidas, ok?

Muito obrigado pela ajuda! 

Share this post


Link to post
Share on other sites
  • 0
7 horas atrás, Diego-SLP disse:

Sua necessidade é apenas importar o conteudo para o banco ou você quer fazer uma aplicação para fazer esse procedimento?

 

 

Diego, 

 

Agora empaquei!
Consegui colocar pra imprimir na tela com o seguinte código:

<html>
	<head>
		<meta charset="UTF-8">
		<title>CRM Docs</title>
	</head>
	<body>
		<?php
			require_once "Classes\PHPExcel.php";
			
			$tmpfname = "teste.xlsx";
			$excelReader = PHPExcel_IOFactory::createReaderForFile($tmpfname);
			$excelObj = $excelReader->load($tmpfname);
			$worksheet = $excelObj->getSheet(0);
			$lastRow = $worksheet->getHighestRow();
			
			echo "<table>";
			for ($row = 1; $row <= $lastRow; $row++) {
				 echo "<tr><td>";
				 echo $worksheet->getCell('A'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('B'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('C'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('D'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('E'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('E'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('F'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('I'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('H'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('J'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('K'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('L'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('M'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('N'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('O'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('P'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('Q'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('R'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('S'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('T'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('U'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('V'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('X'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('Y'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('Z'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AA'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AB'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AC'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AD'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AE'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AF'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AG'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AH'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AI'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AJ'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AK'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AL'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AM'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AN'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AO'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AP'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AQ'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AR'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AS'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AT'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AU'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AX'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AY'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('AZ'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('BA'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('BB'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('BC'.$row)->getValue();
				 echo "</td><td>";
				 echo $worksheet->getCell('BD'.$row)->getValue();
				 echo "</td><td>";
				 echo "</td></tr>";
			}
			echo "</table>";			
		?>
	</body>
</html>

 

Agora eu preciso chamar quaisquer arquivos XLSX através de um input do tipo file que está escrito na index.php, como no exemplo abaixo: (Sabe como me ajudar?)

 

<html>
	<head>
		<meta charset="UTF-8">
		<title>CRM Docs</title>
	</head>
	<body>
		<h1>CRM Docs</h1>
		<form name="processa" action="processa.php" method="POST" enctype="multipart/form-data">
			<input type="file" name="arquivo" value="">
			<input type="submit" name="Enviar" value="enviar">
		</form>
	</body>
</html>


Desde já agradeço!


Um forte abraço!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Diego-SLP
      Bom dia,
       
      Estou passando uma variavel via GET para uma pagina PHP e a SQL não interpreta a mesma.
       
      Se eu printar o numero é exibido, se eu colocar o valor manualmente na SQL ela funciona, porém quando coloco a variavel não exibe nenhum registro, se alguem puder me ajudar.
       
      <?php $id = $_GET['id']; echo $id; $procura = mysqli_query($con,"SELECT p.DATA,p.cod_func,f.nome,f.funcao,p.cod_etapa,p.entrada_1,p.saida_1,p.entrada_2,p.saida_2,p.entrada_3,p.saida_3 FROM rh_pontoFuncionario p, rh_funcionario f WHERE p.cod_func = f.cod AND p.cod_obra = '".$id."' ORDER BY p.id desc") or die (mysqli_error($procura)); while($row = mysqli_fetch_array($procura)){ ?> <tr role="row" class="odd table-sm"> <td class="text-center"> <?php echo date('d/m/Y',strtotime($row['DATA'])); ?> </td> <td class="text-center"><?php echo $row['cod_func'];?></td> <td class="text-center"><?php echo $row['nome'];?></td> <td class="text-center"><?php echo $row['funcao'];?></td> <td class="text-center"><?php echo $row['cod_etapa'];?></td> <td class="text-center"><?php echo $row['entrada_1'];?></td> <td class="text-center"><?php echo $row['saida_1'];?></td> <td class="text-center"><?php echo $row['entrada_2'];?></td> <td class="text-center"><?php echo $row['saida_2'];?></td> <td class="text-center"><?php echo $row['entrada_3'];?></td> <td class="text-center"><?php echo $row['saida_3'];?></td> <td class="project-actions text-center"> <a class="btn btn-warning btn-sm" href="#.php?id=<?php echo $row['id']; ?>"> <i class="fas fa-pencil-alt"> </i> </a> <a class="btn btn-danger btn-sm" href="#.php?id=<?php echo $row['id']; ?>"> <i class="fas fa-trash-alt"> </i> </a> </td> </tr> <?php }//while ?>  
    • By rodrigofv1994
      <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ajax";   $email = $_POST['email']; $senha = $_POST['senha'];   // Criando conexão $conn = new mysqli($servername, $username, $password, $dbname); // Checando conexão if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); }   $sql = "select mail , senha from usuarios where mail = '$email' and senha = '$senha'";   $registros=$conn->count() //$registros = mysqli_num_rows($conn);   if($registros>0){     echo "1"; }else{     echo"0"; }   $conn->close(); ?>
    • By rodrigofv1994
      <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "ajax";   $email = $_POST['email']; $senha = $_POST['senha'];   // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); }   $sql = 'INSERT INTO usuarios VALUES (default,'$email','$senha')';   if ($conn->query($sql) === TRUE) {   echo "New record created successfully"; } else {   echo "Error: " . $sql . "<br>" . $conn->error; }   $conn->close(); ?>
    • By Camilavip
      Boa noite, alguém por acaso sabe um modo simples de se desativar um cadastro automaticamente após um período?
      Deixa eu explicar. Eu cadastro um cliente, em que na tabela do banco de dados tem o campo "ativo" onde 1 é ativado e 0 é desativado. Então eu queria cadastrar esse cliente e o ativar, mas que no período de 30 dias por exemplo ele se desativasse sozinho.  Alguém sa8e algo simples nesse sentido?
    • By Camilavip
      Boa noite a todos, estou tendo um probleminha em gravar a senha criptografada, na verdade editar, pois quando gravo vai certo, mas na edição não está dando certo.
      A baixo quando cadastro o cliente é assim, e está indo perfeito.
       
      $nome = $_POST['nome']; $email = $_POST['email']; $login = $_POST['login']; $senha = sha1($_POST['senha']); Mas na hora da edição como está um pouco diferente estou tentando colocar esse sha1 em todo lugar e não está dando
      nome='$_POST[nome]', email='$_POST[email]', login='$_POST[login]', senha='$_POST[senha]', Então no de cima no cadastro está ok, mas na edição não sei mais aonde coloco esse sha1 para dar certo ou é burrice minha mesmo,
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.