Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

deyvidfera

importar excel para mysql

Recommended Posts

ai galera, estou criando um sistema de vendas, e preciso importar uma tabela de descição dos produtos e preços, poderia cadastrar na mão mas da muito trabalho...

 

tem alguma maneira de importar os dados do excel para o mysql...

 

gostaria de uma

 

não gostaria de fazer direto no banco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim amigo.

 

Primeiro você terá que salvar o arquivo do Excel em CSV depois pode usar uma classe pronta ou se é bem intendido em PHP pode desenvolver uma rotina.

 

Eu fiz uma assim:

 

<?php
if(isset($_POST['evento'])){

	//faz upload do arquivo CSV para uma pasta com permissão 0777
	$arq = $_FILES["arq"]; // pegar o nome da foto 
	$arq_nome = $arq["name"]; // pegar o nome da foto
  
	$arqv_temporario = $_FILES['arq']["tmp_name"]; 
	if(move_uploaded_file($arqv_temporario, "upload/". $arq_nome)) {}
	
	// faça a conexão com seu servidor local, caso você tenha startado pelo XAMPP a senha deixe em branco.
	// Os argumentos são “localhost” destino que você ta dando pra estabelecer conexão.
	// “root” nome de usuário que você precisa para ter acesso ao banco de dados mysql.
	// “pass” a senha.
	mysql_connect("localhost", "oseuuser", "oseupass");
	//mysql_connect("astherserver", "Administrador", "brenno");
	
	// Crie um banco de dados qualquer pode usar o www.mysql-front.com pra criar teu banco de dados.
	// Use a seleção do banco que você precisa na linha abaixo usei myexemplo
	mysql_select_db("oseubanco");
	//mysql_select_db("tecnibra");

	//Usando $abraArq para abrir arquivos com r você apenas vai lê-lo com w ou w+ você pode alterar e caso queira ler e depois alterar só usar as duas rw ou rw+.
	// Selecione o destino que você vai usar como coloquei esse script no mesmo local do arquivo csv apenas escrevi o nome do arquivo com sua extensão.

	$abraArq = fopen("upload/". $arq_nome, "r");

	//Apenas para ficar com mais controle melhor colocar um tratamento de erros caso o arquivo são seja aberto ai use as condições if e else. E imprima na tela com um echo()
	if (!$abraArq){
		$msg = "Arquivo não encontrado";
	}else{
 
	// Caso abra faça isso agora
	// usando a nova função do php 5 fgetcsv() o 2048 é apenas para colocar o número máximo de caracteres por linha.
	// crie uma variável chamada $valores o que vai corresponder pelos valores das colunas para serem inseridas.

	while ($valores = fgets($abraArq)) {
		$linha = explode(";",$valores);
		
		$cod_credenciada = "";
		$cnpj = "";
		$n_fantasia = trim(addslashes($linha[0]));
		$r_social = trim(addslashes($linha[1]));
		$cidade = trim(addslashes($linha[2]));
		$uf = trim(addslashes($linha[3]));
		$contato = trim(addslashes($linha[4]));
		$tel = trim(addslashes($linha[5]));

		// Só criar agora o construtor que pegou os valores das colunas do arquivo csv. E começar a inserir dentro da base de dados.
		$result = mysql_query("insert into tec_cred (cod_credenciada, cnpj, n_fantasia, r_social, cidade, uf, contato, tel) 
							   values ('$cod_credenciada', '$cnpj', '$n_fantasia', '$r_social', '$cidade', '$uf', '$contato', '$tel')");

	   // $num = count($valores);
	   // echo "<p> $num campos na linha $row: <br /></p>\n";
	   // $row++;
	   //   for ($c=0; $c < $num; $c++) {
	   //	  echo $valores[$c] . "<br />\n";
	   //   }
		// Ai no caso do id se você criou como auto incremento use uma função do mySQL para isso que é inserir em outra tabela os últimos id inseridos. O que não entraria em ambigüidade.
		//$ultimo_id = mysql_insert_id();
		//$result = mysql_query("insert into tabelaDois (id,endereco,msn) values("","" . $ultimo_id. "","" .$data[0]."","".$data[1]."")");
	 }
	  $msg = "O arquivo <strong>". $arq_nome ."</strong> foi totalmente importado com sucesso!";
	}
// Só fechar agora o arquivo
fclose($abraArq);
	
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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