Sim sr, bem mais agradavel.

Obrigado Luis!!

On 17 Abr, 11:41, Luis Costa <[email protected]> wrote:
> Olá Rui. Já fiz o código para passar para o excel e tens duas opções, ou
> transformando os dados da grid em formato Html ou em Csv. Eu uso o formato
> html pk fica mais bonito. De seguida tá o código que utilizo.
>
> ****************************************Código**************************************************
>
> private function convertDGToHTMLTable(dg:*):void
>             {
>                 str = '';
>
>                 var font:String = dg.getStyle('fontFamily');
>                 var size:String =
> (int(dg.getStyle('fontSize'))-2).toString(); //Reduz em 2, o tamanho da
> fonte.
>
>                 var colors:String = '';
>                 var style:String =
> 'style="font-family:'+font+';font-size:'+size+'pt;"';
>                 var hcolor:Array;
>
>                 if(dg.getStyle("headerColor") != undefined) {
>                     hcolor = [dg.getStyle("headerColor")];
>                 } else {
>                     hcolor = dg.getStyle("headerColors");
>                 }
>
>                 str+= '<table width="'+dg.width+'"><thead><tr
> width="'+dg.width+'" style="background-color:#'
> +Number((hcolor[0])).toString(16)+'">';
>
>                 for(var i:int = 0;i<dg.columns.length;i++) {
>                     colors = dg.getStyle("themeColor");
>
>                     if(dg.columns[i].headerText != undefined &&
> dg.columns[i].visible == true) {
>                         str+="<th
> "+style+">"+dg.columns[i].headerText+"</th>";
>                     } else if (dg.columns[i].visible == true) {
>                         str+= "<th
> "+style+">"+dg.columns[i].dataField+"</th>";
>                     }
>                 }
>                 str += "</tr></thead><tbody>";
>                 colors = dg.getStyle("alternatingRowColors");
>
>                 for(var j:int =0;j<dg.dataProvider.length;j++) {
>
>                     str+="<tr width=\""+Math.ceil(dg.width)+"\">";
>
>                     for(var k:int=0; k < dg.columns.length; k++) {
>                         if(dg.dataProvider.getItemAt(j) != undefined &&
> dg.dataProvider.getItemAt(j) != null && dg.columns[k].visible == true &&
> dg.columns[k].dataField != "Melhor") {
>                             if(dg.columns[k].labelFunction != undefined &&
> dg.columns[k].labelFunction != null && dg.columns[k].visible == true) {
>                                 str += "<td nowrap=\"nowrap\"
> width=\""+Math.ceil(dg.columns[k].width)+"\"
> "+style+">"+dg.columns[k].labelFunction(dg.dataProvider[j],dg.columns[k])+"</td>";
>                             } else {
>                                 str += "<td nowrap=\"nowrap\"
> width=\""+Math.ceil(dg.columns[k].width)+"\"
> "+style+">"+dg.dataProvider.getItemAt(j)[dg.columns[k].dataField]+"</td>";
>                             }
>                         }
>                     }
>                     str += "</tr>";
>                 }
>                 str+="</tbody></table>";
>
>                 saveFile();
>             }
>
>             public function saveFile():void
>             {
>                 saveFileRef = new FileReference();
>                 saveFileRef.addEventListener(Event.SELECT,
> onSaveFileSelected);
>                 //this will throw a window for user to select the location
>                 //and file name to save. Second argument is the default name
>                 saveFileRef.save(str,"HistoricoGeral.xls");
>             }
>
> ****************************************************************************************
>
> Depois só tens de chamar pela função convertDGToHTMLTable colocando a grid
> que queres enviar.
>
> Cumprimentos
> Luís Costa
>
> 2009/4/17 Rui Costa <[email protected]>
>
>
>
> > Boas pessoal,
>
> > Este "novo" FileReference é realmente muito fofinho, ainda assim para
> > escrever num excel acho algo complicado pois ele manda tudo para a
> > mesma celula, alguma ideia de como meter as coisas mais bonitinhas?
>
> > Rui
>
> > On 14 Abr, 18:50, Luis Costa <[email protected]> wrote:
> > > Confere rui, tinhas razão.
> > > Já conseguir criar na minha aplicação uma maneira de criar os ficheiros
> > no
> > > computador. É necessário alterar a versão do flash player com que o
> > projecto
> > > está a ser criado pois a função FileReference é da biblioteca do flash e
> > tal
> > > como disseste só no 10 é que está actualizado para isso.
>
> > > Link para alterar tudo do projecto para flash 10:
> >http://opensource.adobe.com/wiki/display/flexsdk/Targeting+Flash+Play...
>
> > > Função para criar qualquer tipo de ficheiro a partir de uma aplicação
> > Flex:
>
> > > public function saveFile():void
> > >             {
> > >                 saveFileRef = new FileReference();
> > >                 saveFileRef.addEventListener(Event.SELECT,
> > > onSaveFileSelected);
> > >                 //this will throw a window for user to select the
> > location
> > >                 //and file name to save. Second argument is the default
> > name
> > >                 saveFileRef.save("Ola mundo","Teste.xls");
> > >             }
>
> > > Sendo o "Ola Mundo" o que queremos que o ficheiro tenha e o "Teste.xls" o
> > > nome  do documento e a respecitva extensão pretendida.
>
> > > Obrigado a todos
> > > Luís Costa
>
> > > 2009/4/14 rui <[email protected]>
>
> > > > Luis Costa wrote:
> > > > > Pois, mas o objectivo é o utilizador não estar no Japão e ter de
> > > > > aceder ao servidor em Portugal para criar um ficheiro com os dados
> > que
> > > > > já estão no lado da aplicação. Se eles já estão ali no browser tem de
> > > > > haver um jeito de os exportar sem ser necessário ir ao servidor
> > novamente
>
> > > > > 2009/4/14 Miguel Vaz <[email protected] <mailto:
> > [email protected]>>
>
> > > > >     Acho que a partir do flex 3 não é possivel, por motivos de
> > > > >     segurança, mas é-o utilizando alguma outra linguagem de
> > > > >     "suporte"/servidor. Eu utilizo PHP, com a qual podes, utilizando
> > o
> > > > >     flex como "front-end", criar e gerir ficheiros, etc. Existem
> > > > >     outras linguagens e línguas, como é óbvio, como o sueco, ASP,
> > > > >     esperanto, java, e afins.
>
> > > > >     MV
>
> > > > >     2009/4/14 Luis Costa <[email protected]
> > > > >     <mailto:[email protected]>>
>
> > > > >         Alguém tem um ideia fácil de como a partir duma aplicação
> > Flex
> > > > >         3 criar um ficheiro txt a dizer "Olá mundo"?
>
> > > > >         Cumprimentos
> > > > >         Luís Costa
>
> > > > ja dei a resposta 2 vezes -.-
>
> > > > e a mim alguem me ajuda?http://bugs.adobe.com/jira/browse/FCM-11
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para 
[email protected]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a