Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hugo Melo

Problema ao forçar o download de html para xls MS Excel

Recommended Posts

Boa noite galera.

Recentemente os relatórios exportados pelo sistema lá da empresa começaram a apresentar problemas ao serem abertos pelo MS Excel. Acredito que esse problema tenha sido ocasionado por alguma atualização no MS Excel. Porém, quando eu edito o arquivo pelo notepad++(coloco uma linha, retiro e salvo) o arquivo abre normalmente. Vocês tem ideia do que poder ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem-vindo ao fórum! :)
Recomendo que leia as regras e orientações de participação

Descreva o problema.

O que acontecia antes? O que acontece agora? Que linha é essa que você coloca?

Já tentou abrir com outro software (LibreOffice, Google Docs etc)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com o mesmo problema na minha rotina de exportação. Aparentemente não funciona, mas o que mudou é algum coisa no excel.

Testei exportar excel 2010 - continua OK

Testei exportar excel 2013 - apesenta como se o excel estivesse corrompido.

A rotina de exportação esta configurada para excel de 93 a 2003, no meu caso, estou achando que é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, em outros softwares abre normalmente. O problema de exportar em CSV é que você precisa alterar o html antes, diferente do xls, que ao enviar o modelo da table já se molda ao modelo do excel. Quanto à linha, eu quis me referir a qualquer alteração no arquivo(aberto por um editor de texto).

Sergio, não tem alteração. Inclusive o problema só ocorre no excel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

CSV é carregado nativamente por qualquer programa de planilha, sem precisar alterar nada. É só usar o delimitador correto

E se o problema é só no Excel, é bem provável que a causa do problema seja a Microsoft e não o arquivo em si. A sua versão do Excel não é compatível com o arquivo gerado pelo sistema.

Por isso recomendo gerar arquivos em padrões abertos :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Hugo,

conseguiu resolver o problema?

Está acontecendo o mesmo comigo. Quando testo no localhost funciona perfeitamente, mas quando coloco em produção, acontece como você descreveu. Baixa o arquivo mas não abre no Excel. Quando edito ele (adiciono um espaço, apago o espaço e salvo) aí abre normalmente. Já fiz vários testes e nada de funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Hugo,

fizemos algumas buscas aqui na empresa e descobrimos que é um erro da Microsoft mesmo. Veja o link

https://support.office.com/pt-br/article/Corre%C3%A7%C3%B5es-e-solu%C3%A7%C3%B5es-alternativas-para-problemas-recentes-no-Excel-para-Windows-49d932ce-0240-49cf-94df-1587d9d97093

Item > Os arquivos HTML com .XLS não abrem fora do modo de exibição protegido no Excel 2010, 2013 e 2016 [sOLUÇÃO ALTERNATIVA]

Infelizmente a Microsoft lançou uma atualização que deu problema na abertura desse tipo de arquivo. Mas foi um erro deles e eles já estão trabalhando na correção do mesmo. No link é explicado algumas soluções alternativas para conseguirmos abrir os arquivos enquanto eles não lançam a correção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por biza
      Boa tarde, 
      tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados  de forma a que eles sejam somados.
      Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido.
      Será que alguém me pode auxiliar a resolver isto!
      Obrigado.

    • Por rsnow
      Bom dia a todos;
      Estou com problema na leitura de um arquivo .CSV, 
      a coluna que contém número de CNPJ está vindo convertido em notação científica e não estou conseguindo converter para numeração correta
      Ex: 3,04918E+12
      eu quero mostrar o valor que se encontra convertido que no caso é 3049181000139
      porém faço isso manual no próprio excel e isso se torna muito trabalhoso toda vez.
       
      alguma luz?

    • Por Kefatif
      Prezados, boa tarde!
       
      Em uma tela faço o envio de arquivos PDF para uma pasta reservada para isso.
       
      Estou tendo dificuldade para criar um botão de download na tela de consultas, quando abro a página de consulta ele está me mostrando a seguinte mensagem: "Notice: Undefined variable: row in C:\xampp\htdocs\plataforma\indicadores\consultar.php on line 126"
       
      Podem me ajudar?
       
      <?php include_once 'autenticacao.php'; include_once'../conexao.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <title>Envio de Ata</title> <link href="../css/estilo.css" rel="stylesheet"> <!-- Bootstrap Core CSS --> <link href="../css/bootstrap.css" rel="stylesheet"> <!-- Custom CSS --> <link href="../css/modern-business.css" rel="stylesheet"> <!-- Custom Fonts --> <link href="../font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <script src="../js/jquery.min.js"></script> </head> <body> <?php include_once 'nav-menu1.php'; ?> <!-- Page Content --> <div class="container" style="width: 90%"> <?php include_once 'cabecalho.php'; ?> <div class="row"> <?php include_once 'barra-lateral.php'; ?> <!-- Content Column --> <div class="col-md-9" style="width: 80%"> <h4><b>CONSULTAR UNIDADE</b></h4> <form class="form-inline" action="consultar.php" autocomplete="off" method="get"> <div id="form-callcenter"> <label style="width: 30%"> <input type="text" name="nome" class="form-control" placeholder="Digite o nome da unidade" style="width: 100%"> </label> <input type="submit" readonly value="Pesquisar" class="btn btn-primary"> </div> </form> <?php if (isset($_GET["nome"]) ) { $nome = $_GET["nome"]; include_once '../funcoes.php'; $sql = "select A.dt_envio, A.unidade, A.responsavel, A.observacao, A.anexo from controle_ata A where A.unidade like '%".$nome."%' order by A.dt_envio desc"; $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) > 0) { ?> <table class="table table-hover table-bordered" id="tabela-dispensacao2"> <tr> <th>Unidade</th> <th>Data do envio</th> <th>Responsável</th> <th>Observação</th> <th>Ata</th> <th>Download</th> </tr> <?php if($row["anexo"] == ''){ $cor = "red"; }else{ $cor = "blue"; } while ($row = mysqli_fetch_array($result)){ foreach($row as $key => $values){ $row[$key]= utf8_encode($values); } ?> <tr> <td><?php echo $row["unidade"]?></td> <td><?php echo dataTela($row["dt_envio"]); ?></td> <td><?php echo $row["responsavel"]; ?></td> <td><?php echo $row["observacao"] ?></td> <td><?php echo $row["anexo"] ?></td> <td><a class="<?php if($row["ANEXO"] == ''){echo "link-nao-ativo";}?>" href='anexos/<?php echo $row["ANEXO"] ?>' target="_blank"> <i style="color:<?php echo $cor ?>" class="glyphicon glyphicon-download-alt"></i> </a> </td> </tr> <?php }//ENCERRANDO O WHILE ?> </table> <?php }else{ echo "Nenhuma unidade encontrada!<br>"; } } ?> <?php mysqli_close($con); ?> </div> </div> <!-- /.row --> </div> <!-- /.container --> <!-- jQuery --> <script src="../js/jquery.js"></script> <!-- Bootstrap Core JavaScript --> <script src="../js/bootstrap.min.js"></script> </body> </html>  
       
      Agradeço a ajuda desde já!
    • Por fideles
      Caros,
       
      Tenho 6 inputs para preencher que recebo como base uma planilha em Excel, tenho que fazer manualmente cada coluna no seu respectivo input, alguém já tentou ou sabe se tem alguma forma de copiar a linha do Excel e jogar nos inputs? Ou seja, ao copiar a linha do Excel, ele joga as 6 colunas com os resultados dentro dos inputs. 
    • Por Junior Ni10
      Bom dia,
       
      tenho uma necessidade matemática de passar alguns valores em $x e $y e ele me retornar o mesmo resultado que a função INCLINAÇÃO do excel retorna.
       
      $y[] = 10; $y[] = 23; $y[] = 25; $y[] = 27; $y[] = 56; $y[] = 55; $y[] = 84; $y[] = 87; $y[] = 115; $y[] = 115; $y[] = 125; $y[] = 132; $y[] = 138; $y[] = 153; $y[] = 181; $y[] = 191; $y[] = 198; $y[] = 199; $y[] = 201; $y[] = 205; $x[] = 3; $x[] = 8; $x[] = 10; $x[] = 12; $x[] = 24; $x[] = 25; $x[] = 39; $x[] = 40; $x[] = 55; $x[] = 56; $x[] = 61; $x[] = 64; $x[] = 66; $x[] = 73; $x[] = 90; $x[] = 93; $x[] = 96; $x[] = 97; $x[] = 98; $x[] = 99; Tenho esse array acima com os dados, no excel o retorno é 1,996159717, preciso que minha aplicação retorne o mesmo.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.