Ir para conteúdo
Fórum Script Brasil
  • 0

Converter Excel para MySQL


Edinho Rodrigues

Pergunta

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

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 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...

Link para o comentário
Compartilhar em outros 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

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...