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

Importar Dados Do Excel Para Mysql


dev

Pergunta

Olá pessoal.

NÃO SEI SE É AQUI O MELHOR LOCAL PARA POSTAR, MAS CREIO QUE VOCÊS PODERÃO ME AJUDAR...

estou na maior fria... disse a um cliente que poderia importar os dados do banco da máquina dele para o banco mysql e não estou conseguindo...

Ele me enviou os dados da máquina dele em extensão xls, mas o drama é que os dados estão salvos em linha e não em coluna, além disso, não segue o mesmo espaçamento, vejam só:

Título: AGRICULTURA

Nº Contrato: 99999 Anúncio:

FULANO FULANO FULANO

Cidade: RIO BRANCO

R. FLORIANO PEIXOTO , 999 CENTRO

Tipo: está

Fone: (51) 999 9999

Título: AGRICULTURA

Título: FARMÁCIAS E DROGARIAS

Nº Contrato: 99999 Anúncio:

SICRANO SICRANO SICRANO

Cidade: RIO BRANCO

R. 16 DE OUTUBRO, 9999 CENTRO

Tipo: está

Fone: (68) 99999999

Título: FARMÁCIAS E DROGARIAS

Tentei salvar em txt ou csv, mas o mysql pega cada informação como uma linha diferente do mesmo campo e os demais campos ficam vazios.

Diante desse drama, tenho como resolver o problema????????????????????

Desde já agradeço muito.

Espero que realmente tenha solução e alguém aí possa me ajudar.

Obrigada mesmo.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Oi, Beraldo! Bom dia, pessoal !

Agradeço demais por sua ajuda e já peço desculpas pela ignorância...

Agora eu entendi a codificação que devo fazer (eu acho)...

mas onde tenho que colocar isso?

como vou pegar os dados do arquivo xls?

Vou tentar algumas coisas aqui, mas se puder me ajudar ainda mais do que já ajudou, agradeço muito a você ou a quem o faça.

Abraços.

----

Acho que consegui listar os campos:

$lines = file ('teste.txt');

foreach ($lines as $line_num => $line) {

echo "<b>{$line_num}</b> " . htmlspecialchars($line) . "<br>\n";}

Ficou assim:

0 Título: AGRICULTURA

1 Nº Contrato: 99999 Anúncio:

2 FULANO

3 Cidade: RIO BRANCO

4 R. FLORIANO PEIXOTO , 999 CENTRO

5 Tipo: está

6 Fone: (51) 999999

7 Título: AGRICULTURA

8 Título: FARMÁCIAS E DROGARIAS

9 Nº Contrato: 99999 Anúncio:

10 SICRANO

11 Cidade: RIO BRANCO

12 R. 16 DE OUTUBRO, 999 CENTRO

13 Tipo: está

14 Fone: (68) 9999999

15 Título: FARMÁCIAS E DROGARIAS

Pesquisei no Google e consegui excluir as linhas em branco no excel. :rolleyes:

Mas como faço para gerar o arquivo em colunas a partir daqui para alimentar o mysql ? :blink:

Link para o comentário
Compartilhar em outros sites

  • 0

Já ouviu falar em arquivos *.csv? Eles possuem dados separados por ponto-e-vírgula ( ; ). você pode importar para o MySQL um arquivo csv, que ele o lerá e inserirá os dados nas tabelas.

você pode fazer um loop while para colocar os dados oito a oito em linhas separadas. Lembrando que os dados tipo texto devem ficar entre aspas ("texto").

Link para o comentário
Compartilhar em outros sites

  • 0

Então... consegui chegar até o ponto de gerar o arquivo .csv, como você falou.

Mas enrosquei de novo na hora de fazer o while... não estou conseguindo separar de 8 em 8.

Fiz assim:

while ($dado = file ('teste.txt')){

echo "$ativ = $dado[0]";

echo "$exc = $dado[1]";

echo "$rs = $dado[2]";

echo "$cid = $dado[3]";

echo "$end = $dado[4]";

echo "$exc1 = $dado[5]";

echo "$tel = $dado[6]";

echo "$exc2 = $dado[7]\n";}

Mas não está funcionando. :(

Link para o comentário
Compartilhar em outros sites

  • 0

Olhe um exemplo simples que fiz aqui:

<?php
$x = array (0=>"zero", 1=>"um", 2=>"dois", 3=>"tres", 4=>"quatro", 5=>"cinco", 6=>"seis", 7=>"sete", 8=>"oito", 9=>"nove", 10=>"dez", 11=>"onze", 12=>"doze", 13=>"treze", 14=>"quatorze", 15=>"quinze");

$a = 0;
while ($a < count($x)){
    echo $x[$a].";";
    echo $x[$a+1].";";
    echo $x[$a+2].";";
    echo $x[$a+3].";";
    echo $x[$a+4].";";
    echo $x[$a+5].";";
    echo $x[$a+6].";";
    echo $x[$a+7].";<br/>";
    $a += 8;
}
?>

É basicamente isso. Aí é só você colocar aspas no que for necessário e mudar o número de índices da array.

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...