但是此xls檔案在Office 2010嘗試打開出現檔案損壞的提示, 無法浏覽。
是以打算直接導出csv檔案。
//導出csv
public static function exportToCSV(dataGrid:DataGrid):void{
var dataProviderCollection:ArrayCollection = dataGrid.dataProvider as ArrayCollection;
var rowCount:int = dataProviderCollection.length;
var ExcelStr:Array = [];//儲存表格所有行
var columnsFiledText:Array = new Array();//列标題
var columnsFiledName:Array = new Array();//列資料字段
for each(var column:DataGridColumn in dataGrid.columns){
//儲存Datagrid列标題
columnsFiledText.push(column.headerText.toString());
//儲存DataGrid列資料字段名
columnsFiledName.push(column.dataField.toString());
}
//儲存标題行
ExcelStr.push(columnsFiledText.join(",").toString());
for(var r:int = 0;r<rowCount;r++){
var rowData:Object = dataProviderCollection.getItemAt(r);
var csvRow:Array =new Array();//定義一行資料
for each(var col:String in columnsFiledName){
trace(rowData[col]);
csvRow.push(rowData[col]);//儲存每一行的單元格資料
}
//儲存一行資料
ExcelStr.push(csvRow.join(",").toString());
}
var bytes:ByteArray = new ByteArray();
var fileReference:FileReference = new FileReference();
bytes.writeMultiByte(ExcelStr.join("\r\n"),"gb2312");
fileReference.save(bytes,"test.csv");
}