Ir para conteúdo
  • 0
olucaslima

Importar Planilha Excel no MySQL com PHP

Pergunta

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?
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 respostas a esta questão

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! 

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por DZ22
      Estou aprendendo WebService no meu curso de programação, e criamos agora um arquivo PHP com umas 4 variáveis q vão armazenar os dados de conexão com o Banco de Dados q é o MySQL ($HostName, $HostUser, $HostPass, $DatabaseName). Mas eu preciso testar as informações que eu vou botar nessas variáveis pra ver se estão certas. Como eu as testo?
    • Por Augusto A.S
      Galera, estou penando em um clique de um `<button>`, peço a ajuda de vocês.
       
      Preciso que, assim que um `button` da classe `btn-remove` for clicado, o valor de seu `data-id` seja pego e enviado como parâmetro para uma função no PHP. Segue abaixo os códigos:
       
      Função PHP:
       
      function removerComentario( $id ) { $deleta = $PDO->prepare("DELETE comentario FROM comentarios WHERE idcomentario = :idcomentario"); $deleta->bindValue(':idcomentario', $id); $deleta->execute(); }  
      $lista = $PDO->query("SELECT convidado.nome, comentarios.comentario, comentarios.idcomentario FROM convidado INNER JOIN comentarios ON convidado.idconvidado = comentarios.idconvidado ORDER BY idcomentario"); while ($rows = $lista->fetch()){ $nome_cmt = $rows['nome']; $coment_cmt = $rows['comentario']; $id_coment = $rows['idcomentario']; printf("<li>$nome_cmt disse: <button class='btn-remove' data-id='$id_coment'>Deletar</button> <br> $coment_cmt </li>"); } SCRIPT:
      <script> $('.btn-remove').click(function(){ var id = $(this).data('id'); $.ajax({ url: "comentario.php", data: { //aqui preciso que o valor do $id da função lá em cima seja igual à var id da segunda linha desse script. }, datatype: "json", type: "POST", success: function (data) { //aqui não entendi, para esse caso, o que devo colocar } }); }); </script> Basicamente o valor não está sendo pego, está dando erro no "$" do "$('btn_remove')", na parte do SCRIPT.
    • Por Roger Cardoso
      <section class="section-50 section-sm-top-90 section-sm-bottom-100 bg-image-6"> <div class="shell-wide isotope-wrap"> <h3 class="text-center">Our Menu</h3> <div class="range range-sm-center"> <div class="cell-xs-12"> <div class="cell-box"> <ul class="isotope-filters-responsive"> <li> <p>Choose your category:</p> </li> <li class="block-top-level"> <!-- Isotope Filters--> <button data-custom-toggle="#isotope-1" data-custom-toggle-disable-on-blur="true" class="isotope-filters-toggle btn btn-primary-lighter btn-shape-circle">Categorias<span class="caret"></span></button> <div id="isotope-1" class="isotope-filters isotope-filters-buttons isotope-filters-buttons-primary-lighter"> <ul class="inline-list"> <?php $consultaCategoria = "SELECT a.idCatPrato, a.NomeCatPrato FROM tb_catpratos a WHERE a.idCatPrato in ( SELECT DISTINCT b.idCatPrato FROM tb_pratos b WHERE b.idCatPrato = a.idCatPrato AND b.status = 's') ORDER BY a.NomeCatPrato"; $resultadoCategoria = mysql_query($consultaCategoria) or die("Erro ao acessar base de dados de categorias"); while ($linhaCategoria = mysql_fetch_assoc($resultadoCategoria)) { $idCatPrato = $linhaCategoria["idCatPrato"]; $NomeCatPrato = $linhaCategoria["NomeCatPrato"]; echo"<li><a data-isotope-filter='$idCatPrato' data-isotope-group='gallery' href='#' class='btn-shape-circle btn active'>$NomeCatPrato</a></li>"; } /*End while categoria*/ ?> </ul> </div> </li> </ul> </div> </div> </div> <div class="cell-xs-12 offset-top-40"> <!-- Isotope Content--> <div data-isotope-layout="fitRows" data-isotope-group="gallery" class="row isotope isotope-menu isotope-menu-offsets"> <?php /* Pratos */ $consultaPratos = "SELECT a.idPrato, a.maisAmados, a.resumoPrato, a.tituloPrato, a.valorB_Prato, b.foto FROM tb_pratos a LEFT JOIN galeria b ON b.idPrato = a.idPrato WHERE a.idCatPrato = $idCatPrato AND a.status = 's'"; $resultadoPratos = mysql_query($consultaPratos) or die("Erro ao acessar base de dados de pratos");; while ($linhaPratos = mysql_fetch_assoc($resultadoPratos)) { $valorPrato = $linhaPratos["valorB_Prato"]; $idPrato = $linhaPratos["idPrato"]; $maisAmados = $linhaPratos["maisAmados"]; $resumoPrato = $linhaPratos["resumoPrato"]; $tituloPrato = $linhaPratos["tituloPrato"]; $imagemProduto = $linhaPratos["foto"]; if ($imagemProduto == ""){ $imagemProduto = "no-image.png"; } $foto = "../sistema/imagens/thumb/".$imagemProduto; echo "<div data-id='$idPrato' data-name='$tituloPrato' data-price='$valorPrato' data-qtde='1' data-filter='$idCatPrato' class='col-xs-12 col-sm-6 isotope-item'> <div class='thumbnail-menu-modern thumbnail-menu-modern-horizontal'> <div class='unit unit-lg-horizontal unit-spacing-sm unit-middle'> <div class='unit-left'> <figure> <img src='$foto' alt='' width='310' height='260' class='img-responsive'/> </figure> </div> <div class='unit-body'> <div class='caption text-center'> <h5>$tituloPrato</h5> <p class='text-italic'>$resumoPrato</p>"; if ( $statusAtiva == "s") { echo "<a class=\"button white-btn clicked\" href=\"javascript:Cart('$idPrato', 'add');\"> <span class='desk'>Adicionar</span> <span class='mob'><i class='fa fa-check'></i></span> </a>"; } echo "<p class='price'>$valorPrato</p><a href='shop-single.html' class='btn btn-shape-circle btn-burnt-sienna offset-top-15'>Pedir</a> </div> </div> </div> </div> </div>";} ?> </div> </div> </div> </section>  
    • Por Handrix
      Boa tarde galera do fórum iMasters!
       
      Estou com um pequeno problema ao percorrer um array multidimensional. O array que tenho para percorrer é esse:
      array:8 [▼ "name" => array:3 [▼ 0 => "101" 1 => "102" 2 => "103" ] "gate" => array:3 [▼ 0 => "1" 1 => "1" 2 => "1" ] "chairs_initial" => array:3 [▼ 0 => "80" 1 => "161" 2 => "242" ] "chairs_final" => array:3 [▼ 0 => "160" 1 => "241" 2 => "322" ] "tickets_avaliable" => array:3 [▼ 0 => "80" 1 => "80" 2 => "80" ] "price_full" => array:3 [▼ 0 => "40" 1 => "40" 2 => "40" ] "price_half" => array:3 [▼ 0 => "20" 1 => "20" 2 => "20" ] "plant_sector" => array:3 [▼ 0 => UploadedFile {#291 ▶} 1 => UploadedFile {#303 ▶} 2 => UploadedFile {#287 ▶} ] ] O que preciso fazer nele é tratar os dados para realizar um insert na tabela do meu banco de dados, estou realizando o foreach da seguinte maneira:
      <?php foreach ($temp_sectors as $i => $temp) { foreach ($temp as $j => $val) { $sec[$j] = $val; dd($sec); } } Porém o meu retorno é apenas da primeira posição no caso:
      0 => "101" Mas o que eu gostaria de fazer é agrupar os sub-conjuntos para inserir exemplo:
      array:0 [▼ "name" => "101" "gate" => "1" "chairs_initial" => "80" ... ] array:1 [▼ "name" => "102" "gate" => "1" "chairs_initial" => "161" ... ] array:2 [▼ "name" => "103" "gate" => "1" "chairs_initial" => "242" ... ] Não sei se ficou clara minha saída mas qualquer dúvida estou a disposição!
      Realmente não sei o que estou errando ou não terminando :/
       
       
      Abraços!
    • Por Wanderson Moreira
      tenho uma tabela no banco que tem os campos empresa, executor, e tempo (no formato time( (00:00:00.000000))

      eu consigo selecionar todas as empresas de um determinado executor, até ai facil..
      porem como posso fazer para pegar o tempo de todas as empresas desse executor para somar o total de horas?
       
      Obrigado =)


       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.