Mas queres ter o gráfico no flex e no excel ou só no excel a partir dos
dados que transportas da grid?

2009/4/17 Rui Costa <[email protected]>

>
> degrafo às vezes :p
>
> vou verificar.
>
> A questão do degrafa é se dá ou não para enviar para o excel, pk o
> objectivo era meter no excel mesmo.
>
>
> On 17 Abr, 15:12, rui <[email protected]> wrote:
> > Rui Costa wrote:
> > > Bem Luis, agora vem a batalha maior, permitir a criação de um gráfico
> > > com os dados passados para o excel.
> >
> > > Já tive a ver algumas formas mas tudo acaba por cair na imagem... até
> > > agora não encontrei nenhum que permiti-se criar realmente um gráfico
> > > em que o user depois de abrir o excel e trocar os valores ele mude
> > > também realmente...
> >
> > > Mas ainda vou continuar!!
> >
> > > Se alguem souber alguma coisa deste género "amande" para o pessoal
> > > ver!!
> >
> > > Abraço,
> >
> > > Rui
> >
> > > 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
> >
> > Degrafa
> >
>

--~--~---------~--~----~------------~-------~--~----~
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