Manoel Vitor Alegre Silva Postado Março 26, 2019 Denunciar Share Postado Março 26, 2019 Bom dia Pessoal. Estou com problema ao exportar minha pagina php para o excel. Os dados saem desconfigurados mesmo configurando para UTF8. segue meu códigos abaixo. o arquivo que exibe os dados <?php require_once('db.php'); $slq = "SELECT * FROM tbl_itens_smo INNER JOIN tbl_itens ON(tbl_itens_smo.id_produto = tbl_itens.id) WHERE cp = 0 ORDER BY cp ASC"; $stmt = mysqli_query($conn, $slq); $data = []; $i = 0; while($row = mysqli_fetch_assoc($stmt)){ $data[$i]['ticket'] = $row['ticket']; $data[$i]['item'] = $row['item']; $data[$i]['comprar'] = $row['quantidade']-$row['cd_qnt']; $data[$i]['unidade'] = $row['unidade']; $data[$i]['grupo'] = $row['grupo']; $i++; } require_once('Export.php'); $export = new Export(); if(isset($_GET['export']) && $_GET['export'] == 'excel'){ $export->excel('Itens para Compra', $_GET['fileName'], $data); } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Suprimentos</title> <!-- Compiled and minified CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> </head> <body> <div class="container"> <div class="row"> <h3>Itens a serem comprados </h3> </div> <div class="row"> <p><a href="?export=excel&&fileName=Relatorio"> <buttom class="btn btn-success">Exportar</buttom> </a></p> <p></p> </div> <div class="row"> <table class="table"> <thead> <tr> <th>Ticket</th> <th>Produto</th> <th>Quantidade</th> <th>Unidade</th> <th>Grupo</th> </tr> </thead> <tbody> <?php foreach($data as $row): ?> <tr> <td><?php echo $row['ticket']; ?></td> <td><?php echo $row['item']; ?></td> <td><?php echo $row['comprar']; ?></td> <td><?php echo $row['unidade']; ?></td> <td><?php echo $row['grupo']; ?></td> </tr> <?php endforeach; ?> </tbody> </table> </div> </div> </body> </html> e este é o arquivo que exporta para o excel. <?php class Export{ public function excel($name, $fileName, $data){ // nome do arquivo $fileName = $fileName . '.xls'; // Abrindo tag tabela e criando título da tabela $html = ''; $html .= '<table border="1">'; $html .= '<tr>'; $html .= '<th colspan="' . count($data) . '">' . $name . '</th>'; $html .= '</tr>'; // criando cabeçalho $html .= '<tr>'; foreach ($data[0] as $k => $v){ $html .= '<th>' . ucfirst($k) . '</th>'; } $html .= '</tr>'; // criando o conteúdo da tabela for($i=0; $i < count($data); $i++){ $html .= '<tr>'; foreach ($data[$i] as $k => $v){ $html .= '<td>' . $v . '</td>'; } $html .= '</tr>'; } $html .= '</table>'; // configurando header para download header("Content-Description: PHP Generated Data"); header("Content-Type: application/x-msexcel"); header("Content-Disposition: attachment; filename=\"{$fileName}\""); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); // envio conteúdo echo $html; exit; } public function xml($data){ } } ?> Veja como exporta. exemplo de como sai os dados com acentos -> FERRO REDONDO MECÂNICO 1/2" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leonardo Persan Postado Março 29, 2019 Denunciar Share Postado Março 29, 2019 Tudo está em UTF8? Tabelas, conexão com o Banco, arquivo PHP... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Manoel Vitor Alegre Silva
Bom dia Pessoal. Estou com problema ao exportar minha pagina php para o excel. Os dados saem desconfigurados mesmo configurando para UTF8.
segue meu códigos abaixo.
o arquivo que exibe os dados
e este é o arquivo que exporta para o excel.
Veja como exporta.
exemplo de como sai os dados com acentos ->
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.