• 0
Sign in to follow this  
Edinho Rodrigues

Converter Excel para MySQL

Question

Olá

Preciso desenvolver um aplicação em PHP que o usuário suba um arquivo no formato xls e então atualize uma tabela no banco de dados com os valores da nova tabela.

Explicando melhor, terei uma tabela de preços no meu BD e esses preços virão atualizados em formato xls. Então quero construir uma aplicação que eu possa upar esse arquivo xls e substituir os valores do banco pelos que estão no arquivo xls.

Desde já agradeço

Att.

Edinho Rodrigues

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Movendo Tutoriais & Dicas - PHP » PHP

Sobre a sua dúvida, pesquise por PHPExcel.

Share this post


Link to post
Share on other sites
  • 0

Olá, estou tentando alimentar uma tabela no MySQL com um arquivo .csv. Quando eu executo o SQL no phpMyAdmin o comando funciona:
LOAD DATA INFILE 'C:\\xampp\\htdocs\\Testes\\csv\\carros.csv' REPLACE INTO TABLE carros FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\'
Porém quando tento executar via programação, dá erro de SQL:
$planilha = "'C:\\xampp\\htdocs\\Testes\\csv\\carros.csv'";
if (isset($_POST["gravar"])) {
$gravar = mysql_query("LOAD DATA INFILE $planilha
REPLACE INTO TABLE carros FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\'
") or die(mysql_error());
if ($gravar == '1') {
echo "Sucesso";
} else {
echo "Erro";
}
Erro do SQL:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''\'' at line 2
Alguém saberia me dizer qual p problema? Já tentei tudo que eu sabia e nada.
Desde já, agradeço...

Share this post


Link to post
Share on other sites
  • 0

Olá Edinho.

Fiz cadastrando o nome e e-mail para um projeto que fiz algum tempo atrás. Tente adaptá-lo as suas necessidades. Veja abaixo:

// Importaremos o arquivo Excel em upload  $diretorio = 'emails/';
       $arquivos = $diretorio . $_FILES['massa_email']['name'];
       if (move_uploaded_file($_FILES['massa_email']['tmp_name'], $diretorio . $_FILES['massa_email']['name'])) {
      $ler = fopen($arquivos,"r");
           $conteudo = fread($ler,filesize($arquivos));
           $dividir = explode("\n",$conteudo);

foreach($dividir as $ver){

//Eliminaremos os campos vazios
if($ver != ""){

// Verificaremos se já existe valores iguais na tabela
$sqlVerificar = mysql_query("SELECT * FROM mt_emails WHERE email_cliente = '".trim($ver)."'");
$mtVerificar = mysql_num_rows($sqlVerificar);


// Cadastraremos apenas os valores que não constem na tabela
   if($mtVerificar == 0){

    // Iremos popular a tabela
   $insere = mysql_query("INSERT INTO mt_emails (email_cliente) VALUES ('".trim($ver)."')");
   }
 }
}

O nosso colega Maurício Programador colocou em seu blog um outro método, digamos, mais simplificado rs rs. Veja:

http://www.mauricioprogramador.com.br/posts/importando-dados-do-excel-para-mysql-com-php

Vale lembrar que o mysql irá ( ou está ) obsoleto, por isso é aconselhável você usar o mysqli. http://php.net/manual/en/book.mysqli.php

Abraço

Edited by MTavares

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this