The following code is used to export data from datagrid to excel in flex.
Code:
private function ExportToExcel(FileName:String)
{
try
{
var fields:Array = new Array();
var sheet:Sheet;
fields = [];
sheet = new Sheet();
var rowCont:int = gridRpt.dataProvider.source.length;
var dataprovd:ArrayCollection = new ArrayCollection(gridRpt.dataProvider.source);
sheet.resize(rowCont + 9,gridRpt.columnCount);
var Col:Array = gridRpt.columns;
var Ex:int = 0;
var ExStr:String = TopPanel.title.toString();
var CurrentDateTime:Date = new Date();
var CurrentDF:DateFormatter = new DateFormatter();
CurrentDF.formatString = "LL:NN:SS A"
var DateTimeString:String = CurrentDF.format(CurrentDateTime);
sheet.setCell(0,0,"ABIS~PRO");
sheet.setCell(2,6,ExStr);
sheet.setCell(0,12,"Date :");
sheet.setCell(0,13,Perd.text);
sheet.setCell(1,12,"Time :");
sheet.setCell(1,13,DateTimeString);
for each(var DGField:DataGridColumn in Col)
{
fields.push(DGField.dataField.toString());
sheet.setCell(8,Ex,DGField.headerText.toString());
Ex++;
}
for(var r:int = 0;r< rowCont;r++)
{
var Rec:Object = dataprovd.getItemAt(r);
var Erow:int = r+1;
//insertRecordInSheet(Erow,sheet,Rec);
//var ColCount:int = ColsArr.length;
var Exc:int = 0;
for(var c:int = 0; c<fields.length; c++)
{
var ExFld:String =fields[c];
if(Rec[ExFld] != null)
{
sheet.setCell(Erow+8,Exc,Rec[ExFld].toString());
}
Exc++;
}
}
var Exls:ExcelFile = new ExcelFile();
Exls.sheets.addItem(sheet);
var Byt:ByteArray = Exls.saveToByteArray();
var FileRef:FileReference = new FileReference();
FileRef.addEventListener(Event.SELECT,alert);
var ExcStr:String = FileName;
FileRef.save(Byt,ExcStr);
}
catch(ex:Error)
{
Alert.show(ex.toString());
}
finally{}
}
Code:
private function ExportToExcel(FileName:String)
{
try
{
var fields:Array = new Array();
var sheet:Sheet;
fields = [];
sheet = new Sheet();
var rowCont:int = gridRpt.dataProvider.source.length;
var dataprovd:ArrayCollection = new ArrayCollection(gridRpt.dataProvider.source);
sheet.resize(rowCont + 9,gridRpt.columnCount);
var Col:Array = gridRpt.columns;
var Ex:int = 0;
var ExStr:String = TopPanel.title.toString();
var CurrentDateTime:Date = new Date();
var CurrentDF:DateFormatter = new DateFormatter();
CurrentDF.formatString = "LL:NN:SS A"
var DateTimeString:String = CurrentDF.format(CurrentDateTime);
sheet.setCell(0,0,"ABIS~PRO");
sheet.setCell(2,6,ExStr);
sheet.setCell(0,12,"Date :");
sheet.setCell(0,13,Perd.text);
sheet.setCell(1,12,"Time :");
sheet.setCell(1,13,DateTimeString);
for each(var DGField:DataGridColumn in Col)
{
fields.push(DGField.dataField.toString());
sheet.setCell(8,Ex,DGField.headerText.toString());
Ex++;
}
for(var r:int = 0;r< rowCont;r++)
{
var Rec:Object = dataprovd.getItemAt(r);
var Erow:int = r+1;
//insertRecordInSheet(Erow,sheet,Rec);
//var ColCount:int = ColsArr.length;
var Exc:int = 0;
for(var c:int = 0; c<fields.length; c++)
{
var ExFld:String =fields[c];
if(Rec[ExFld] != null)
{
sheet.setCell(Erow+8,Exc,Rec[ExFld].toString());
}
Exc++;
}
}
var Exls:ExcelFile = new ExcelFile();
Exls.sheets.addItem(sheet);
var Byt:ByteArray = Exls.saveToByteArray();
var FileRef:FileReference = new FileReference();
FileRef.addEventListener(Event.SELECT,alert);
var ExcStr:String = FileName;
FileRef.save(Byt,ExcStr);
}
catch(ex:Error)
{
Alert.show(ex.toString());
}
finally{}
}