654380491
hola@carlosdk.com
Login
[miniorange_social_login]

Login with your site account

Lost your password?

Carlos DK Carlos DK
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
Back
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
  • Home
  • Blog
  • Tutoriales formativos
  • Crear o escribir un archivo con Flex y pasar un datagrid a un Excel

Tutoriales formativos

12 Sep

Crear o escribir un archivo con Flex y pasar un datagrid a un Excel

  • By Carlos Dk
  • In Tutoriales formativos
  • 0 comment

Muy buenas de nuevo a vertutoriales.com  y muchas gracias por seguirnos.

Hoy escribiremos archivos con flex (no Air el cual implementa métodos para hacer esto directamente).

En realidad no lo haremos directamente con FLEX si no que seremos ayudados por un script en php, existen varios métodos para hacer esto, yo elegí este por comodidez sencillez y versatilidad.

Primero debemos montar las funciones en flex que nos permita comunicar con el php, no usare un httpservice como de costumbre pues para esta acción este método es más directo y claro. En el ejemplo mostraremos como pasar un datagrid de flex a una tabla en Excel

private function pasoaphp(dg:DataGrid):void {
var variables:URLVariables = new URLVariables();
variables.htmltable = DGaHTMLTable(dg);
var u:URLRequest = new URLRequest(excelphp);
u.data = variables;
u.method = URLRequestMethod.POST;
navigateToURL(u,”_self”);
}

public var excelphp:String = “http://localhost/exportexcel.php”;

private function flex2php():void {

var variables:URLVariables = new URLVariables();

variables.htmltable = DGaHTMLTable(dg);

var u:URLRequest = new URLRequest(excelphp);

u.data = variables;

u.method = URLRequestMethod.POST;

navigateToURL(u,”_self”);

}

exportexcel.php:

<?php

header(“Pragma: “);

header(‘Cache-control: ‘);

header(“Cache-Control: post-check=0, pre-check=0”, false);

header(“ETag etagforie7download”);

header(“Content-type: application/vnd.ms-excel”);

header( “Content-Disposition: attachment; filename=Tabla.xls”);

echo “<html>

<body>

“.stripslashes($_POST[“htmltable”]).”

</body>

</html>”;

?>

Por supuesto antes de enviar los datos a nuestro php tenemos que formatearlo para que se transforme correctamente a un excel:

public static function DGaHTMLTable(dg:DataGrid):String {

var font:String = dg.getStyle(‘fontFamily’);

var size:String = dg.getStyle(‘fontSize’);

var str:String = ”;

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+= ‘

‘;

for(var i:int = 0;i

colors = dg.getStyle(“themeColor”);

if(dg.columns[i].headerText != undefined) {

str+=”

“;

} else {

str+= ”

“;

}

}

str += ”

“;

colors = dg.getStyle(“alternatingRowColors”);

for(var j:int =0;j

str+=”

“;

for(var k:int=0; k &lt; dg.columns.length; k++) {

if(dg.dataProvider.getItemAt(j) != undefined &amp;&amp; dg.dataProvider.getItemAt(j) != null) {

if(dg.columns[k].labelFunction != undefined) {

str += ”

“;

} else {

str += ”

“;

}

}

}

str += ”

“;

}

str+=”

<table border=”0″>

<thead>

<tr style=”background-color:#’ +Number((hcolor[0])).toString(16)+'”>

<th>”+dg.columns[i].headerText+”</th>

<th>”+dg.columns[i].dataField+”</th>

</tr>

</thead>

<tbody>

<tr>

<td>”+dg.columns[k].labelFunction(dg.dataProvider.getItemAt(j),dg.columns[k].dataField)+”</td>

<td>”+dg.dataProvider.getItemAt(j)[dg.columns[k].dataField]+”</td>

</tr>

</tbody></table>

“;

return str;

}

Y también los elementos básicos en flex para realizar este proyecto un datagrid y una función de llamada

<mx:DataGrid  id=”dataGrid”>

<mx:dataProvider>

<mx:Object name=”Enrique” pass=”claveja” />

<mx:Object

name=”Jacinta” pass=”claveen”/>

</mx:dataProvider>

<mx:columns>

<mx:DataGridColumn dataField=”name”/>

<mx:DataGridColumn dataField=”pass”/>

</mx:columns>

</mx:DataGrid>

<mx:Button label=”Tabla en Excel” click=”pasoaphp(dataGrid)” x=”27″ y=”185″/>

Espero les sirva , existen otros métodos sobre todo con librerías ya formateadas yo personalmente para una transformación simple prefiero usar este.

Tags:adobe flexphp
  • Share:
Carlos Dk

You may also like

Crear categorías y configurar menú en WordPress en 4 min.

  • marzo 3, 2019
  • by Carlos Dk
  • in Tutoriales formativos
Crear categoría y menú WordPress Es indispensable en una nueva instalación de WordPress, crear las...
Instalar tema en WordPress en 2 pasos
febrero 23, 2019
Actualizar MySQL 5.1 a 5.6 en CentOS 6.9 con Plesk como panel
octubre 20, 2018
Recorrer todos los objetos de una capa o del DOM completo con JQuery
diciembre 22, 2014

Leave A Reply Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Busca en la web

Recomiendo

Software ERP empresarial

Categorías

  • Miscelanea (129)
  • Tutoriales formativos (622)

Ponte en contacto

+34 654380491

hola@carlosdk.com

Torre del Mar (Málaga)

Enlaces rápidos

  • Universo Dk
  • Contacto
  • Blog

Soy social

  • Twitter
  • Linkedin
  • Youtube

Newsletters

Suscríbete para enterarte de lo último que estoy haciendo. No lo usaré para enviarte SPAM inútil 😉

Esta web la he diseñado con cariño en Andalucía por Carlos Dk