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