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

int => String


Renato Penna

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Como está fazendo para gerar o arquivo excel? Se possível poste o código (ou parte dele), assim fica mais fácil ajudar.

Obs.:

Provavelmente o problema está em fazer o excel reconhecer que o que está escrito é uma string, ou seja, a conversão em PHP de int para string não resolveria.

Link para o comentário
Compartilhar em outros sites

  • 0
$sql = mysql_query($str_sql);
    $linhas = mysql_num_rows($sql);
    $novoarquivo = fopen("Arquivo de Rastreamento.xls", "w+");
    $str="";
    $cep="";
    for($i=0;$i<$linhas;$i++)
    {
        $codigo = mysql_result($sql,$i,"codigo");
        $cep = str_pad(mysql_result($sql,$i,"cep"),8,"0",STR_PAD_LEFT);
        $str.="$codigo\t"."'"."$cep\n";
    }
    fwrite($novoarquivo,$str);
    fclose($novoarquivo);

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

  • 0

Renato,

Existem várias formas de solucionar este problema. Vou postar uma:

function convertCEP($cep){
    
    $cep = eregi_replace("([^0-9])", "", $cep); //Retira tudo que não é número da string
    
    $cep = "00000000".$cep;//Acrescenta 8 zeros no começo da string
    $cep = substr($cep, strlen($cep)-8); //pega os 8 digitos a direita, ou seja, os últimos 8 dígitos 
    
    return $cep; 
    
}

echo convertCEP('12-987');

echo convertCEP('123456');

Link para o comentário
Compartilhar em outros sites

  • 0
$sql = mysql_query($str_sql);
    $linhas = mysql_num_rows($sql);
    $novoarquivo = fopen("Arquivo de Rastreamento.xls", "w+");
    $str="";
    $cep="";
    for($i=0;$i<$linhas;$i++)
    {
        $codigo = mysql_result($sql,$i,"codigo");
        $cep = str_pad(mysql_result($sql,$i,"cep"),8,"0",STR_PAD_LEFT);
        $str.="$codigo\t"."'"."$cep\n";
    }
    fwrite($novoarquivo,$str);
    fclose($novoarquivo);
kara, faça um teste com o script abaixo. Insira-o no início do seu script e imprima os dados na tela.
header("Content-type: application/vnd.ms-excel");
                header("Content-type: application/force-download");
                header("Content-Disposition: attachment; filename=Relatorio.xls");
                header("Pragma: no-cache");

                                 $strHtml = '<table>';
                                 $strHtml .= '<tr><td>';
                                 $strHtml .= 'Teste';
                                 $strHtml .= '</td></tr>';
                                 $strHtml .= '</table';
                                
                                 echo $strHtml;

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Troque:

$str.="$codigo\t"."'"."$cep\n";
Por:
$str.="$codigo\t"."'"."=\"$cep\"\n";
Edit: Se quiser também pode enviar um arquivo do tipo vns.ms-excel como o Romero falou, mas nesse caso terá que escrever o código como ="$cep" para indicar string (assim como fiz acima) ou formatar utilizando o atributo mso-number-format. No segundo caso ficaria mais ou menos assim:
echo "<tr">;
echo "<td>".$codigo."</td>";
echo "<td style=\"mso-number-format: \\"@\">".$cep."</td>";
echo "</tr>";

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,3k
    • Posts
      652,2k
×
×
  • Criar Novo...