1. TugaTech » Programação, Scripts e Webmasters » Programação, Scripts e Webmasters
Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

Smeek

Super-membro
Smeek

Bom dia amigos,

Estou tentando desenvolver (expandir) uma funcionalidade que exporta a informação (tratada) de uma consulta à base-de-dados para um ficheiro Excel (.xls).

Único problema está que, nas células onde é utilizado valores decimais está me apresentando noutra apresentação.

 

Por exemplo:

 

Base-de-dados: 11.82 (correto)

Excel: 11,82 (errado, em vez do "." está colocar uma virgula)

 

Base-de-dados: 01.82 (correto)

Excel: 1,82 (errado, não está aparecendo o digito "zero")

 

E eu gostaria que mantivesse nesse formato/apresentação entendem? :\

 

 

Se conhecerem algum plugin ou ferramenta PHP e conseguirem fazer isso, estarei aberto a sugestões e aprender Wink

 

 

Obrigado.

 

 

 

DJPRMF

Administrador
DJPRMF

Boas,

 

Penso que isto vai depender muito do código que tenha atualmente para exportar, ir buscar resultados, etc...

Existem várias dependências para além do apenas formatar o documento corretamente.

 

No entanto, já utiliza algo como isto? 

https://github.com/PHPOffice/PhpSpreadsheet

Talvez possa ajudar bastante nessa tarefa de exportar para o Excel e configurar como se pretende.

 

Cumps


____________________________________________

Exportação da informação de base-de-dados para documento Excel Tugatechuserbar
Exportação da informação de base-de-dados para documento Excel 3
Exportação da informação de base-de-dados para documento Excel 2
TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

Smeek

Super-membro
Smeek

Bom dia,

 

Consegui finalmente trabalhar com a formatação dos campos decimais, entretanto não estou conseguindo aplicar aos campos do tipo Data (Y-m-d).

 

Já experimentei um pouco de tudo, inclusive adicionar o caracter " ' " como prefixo, para impedir seja aplicado uma formatação mas não é o que pretendo :\

DJPRMF

Administrador
DJPRMF

Novamente, isto depende muito do código que tenha criado atualmente.

Mas o que refere é feito com recurso ao PhpSpreadsheet que referi anteriormente? Ou é algo totalmente diferentes/dedicado?

 

Cumps


____________________________________________

Exportação da informação de base-de-dados para documento Excel Tugatechuserbar
Exportação da informação de base-de-dados para documento Excel 3
Exportação da informação de base-de-dados para documento Excel 2
TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

Smeek

Super-membro
Smeek

Bom dia,

Inicialmente cheguei utilizar o PhpSpredsheet, mas depois ter tido algumas dificuldades decidi utilizar outro método (mostrado nesse link: https://pastebin.pl/view/aa506b57). Foi um colega meu da empresa que me partilhou esse método.

 

Nesse momento parece que o resultado ficou como pretendido e aprovado pelo cliente, mas tem uma pequena dificuldade. Ao tentar abrir é mostrado esse alerta, e gostaria saber se existe um método como resolver :\

 

cRQRgOE.jpgRliWPCC.jpg

 

 

DJPRMF

Administrador
DJPRMF

Se está a funcionar é o importante Very Happy

 

Quanto ao erro, verifique se o ficheiro não está a colocar a extensão em duplicado no nome.

Por exemplo, se não está a gravar como "NOME.xls.xls" (a extensão pode estar oculta no sistema, portanto ative a opção de mostrar a extensão em todos os ficheiros).

 

Ou então exporte o ficheiro com a  extensão .xlsx

 

Cumps


____________________________________________

Exportação da informação de base-de-dados para documento Excel Tugatechuserbar
Exportação da informação de base-de-dados para documento Excel 3
Exportação da informação de base-de-dados para documento Excel 2
TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

Smeek

Super-membro
Smeek

Boas,

Sim de facto acho que é bom sinal eheh

 

Problema que cliente reportou que lhe mostrava esse aviso e que pretendia que o mesmo não fosse apresentado, mostrando alguma credibilidade (histórias de clientes.. lol).

 

Já verifiquei que estava exportando para o formato correto .xls.

E ao alterar para ".xlsx" era mostrado esse aviso, e nesse formato não permite abrir mesmo...

 

Q8T1HPS.png

 

 

DJPRMF

Administrador
DJPRMF

Isto não será algo que se possa propriamente "resolver", já que é uma funcionalidade de segurança do Excel - Extension Hardening.

 

Existem formas de desativar o aviso a partir do Registo do Windows, mas sem garantias que não volte no futuro com alguma atualização. No final, é apenas um alerta de segurança porque o ficheiro está a ser criado de fontes "externas" ao Excel - e acontece não apenas neste caso, se descarregar anexos de email, em alguns casos pode também levar ao mesmo erro.

 

Alterar para XLSX deve resolver o problema, mas obviamente que isso pode também afetar o código existente.

Portanto, a única opção será ignorar o erro ou desativar a funcionalidade de segurança pelo registo do Windows.

 

Para desativar a funcionalidade deve aceder ao Registo do Windows em:

HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\OFFICE\16.0\EXCEL\SECURITY

Dentro desta chave deve criar um novo valor DWORD com o nome "ExtensionHardening" (sem aspas) e o valor de "0".

 

Feito isto basta iniciar o Excel e testar.


____________________________________________

Exportação da informação de base-de-dados para documento Excel Tugatechuserbar
Exportação da informação de base-de-dados para documento Excel 3
Exportação da informação de base-de-dados para documento Excel 2
TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

Smeek

Super-membro
Smeek

Boas,

Então sendo esse a razão, irei comunicar e explicar isso ao cliente.

Prefiro não realizar esse tipo de alterações profundas nos sistemas dos clientes.

 

Obrigado pelo esclarecimento! Smile

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos




Aplicações do TugaTechAplicações TugaTechDiscord do TugaTechDiscord do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech