Flex中通过调用setClipboard将DataGrid数据复制到剪贴板便于导出Excel的代码--复制
2012-02-15 09:57
826 查看
package com.xxxxxxxx
{
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.collections.ArrayCollection;
import mx.collections.XMLListCollection;
import mx.collections.IList;
import mx.collections.IViewCursor;
import mx.collections.CursorBookmark;
public class DataGridDataExporter
{
public static function exportCSV(dg:DataGrid, csvSeparator:String="\t", lineSeparator:String="\n"):String
{
var data:String="";
var columns:Array=dg.columns;
var columnCount:int=columns.length;
var column:DataGridColumn;
var header:String="";
var headerGenerated:Boolean=false;
var dataProvider:Object=dg.dataProvider;
var rowCount:int=dataProvider.length;
var dp:Object=null;
var cursor:IViewCursor=dataProvider.createCursor();
var j:int=0;
//loop through rows
while (!cursor.afterLast)
{
var obj:Object=null;
obj=cursor.current;
//loop through all columns for the row
for (var k:int=0; k < columnCount; k++)
{
column=columns[k];
//Exclude column data which is invisible (hidden)
if (!column.visible)
{
continue;
}
data+="\"" + column.itemToLabel(obj) + "\"";
if (k < (columnCount - 1))
{
data+=csvSeparator;
}
//generate header of CSV, only if it's not genereted yet
if (!headerGenerated)
{
header+="\"" + column.headerText + "\"";
if (k < columnCount - 1)
{
header+=csvSeparator;
}
}
}
headerGenerated=true;
if (j < (rowCount - 1))
{
data+=lineSeparator;
}
j++;
cursor.moveNext();
}
//set references to null:
dataProvider=null;
columns=null;
column=null;
return (header + "\r\n" + data);
}
}
}
前台
//复制datagrid的数据
private function copyDatagrid():void
{
System.setClipboard(DataGridDataExporter.exportCSV(datagrid));//datagrid是DataGrid的id
}
复制按钮 -- click=copyDatagrid
{
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.collections.ArrayCollection;
import mx.collections.XMLListCollection;
import mx.collections.IList;
import mx.collections.IViewCursor;
import mx.collections.CursorBookmark;
public class DataGridDataExporter
{
public static function exportCSV(dg:DataGrid, csvSeparator:String="\t", lineSeparator:String="\n"):String
{
var data:String="";
var columns:Array=dg.columns;
var columnCount:int=columns.length;
var column:DataGridColumn;
var header:String="";
var headerGenerated:Boolean=false;
var dataProvider:Object=dg.dataProvider;
var rowCount:int=dataProvider.length;
var dp:Object=null;
var cursor:IViewCursor=dataProvider.createCursor();
var j:int=0;
//loop through rows
while (!cursor.afterLast)
{
var obj:Object=null;
obj=cursor.current;
//loop through all columns for the row
for (var k:int=0; k < columnCount; k++)
{
column=columns[k];
//Exclude column data which is invisible (hidden)
if (!column.visible)
{
continue;
}
data+="\"" + column.itemToLabel(obj) + "\"";
if (k < (columnCount - 1))
{
data+=csvSeparator;
}
//generate header of CSV, only if it's not genereted yet
if (!headerGenerated)
{
header+="\"" + column.headerText + "\"";
if (k < columnCount - 1)
{
header+=csvSeparator;
}
}
}
headerGenerated=true;
if (j < (rowCount - 1))
{
data+=lineSeparator;
}
j++;
cursor.moveNext();
}
//set references to null:
dataProvider=null;
columns=null;
column=null;
return (header + "\r\n" + data);
}
}
}
前台
//复制datagrid的数据
private function copyDatagrid():void
{
System.setClipboard(DataGridDataExporter.exportCSV(datagrid));//datagrid是DataGrid的id
}
复制按钮 -- click=copyDatagrid
相关文章推荐
- Delhpi利用剪贴板快速导出(复制)数据到excel
- 通过剪贴板实现将DataGridView中的数据导出到Excel
- 通过Javascript将数据导出到外部Excel文档的函数代码
- 通过Javascript将数据导出到外部Excel文档的函数代码
- Android系统剪贴板(ClipboardManager)的使用: 通过代码复制和粘贴数据
- 通过剪贴板将DataGridView中的数据导出到Excel
- 通过剪贴板实现将DataGridView中的数据导出到Excel
- JS调用C#后台代码---JS实现DataGrid“全选”、“反选”、调用后台代码批量删除数据
- flex 从DataGrid列表中导出数据为excel表格
- Flex中DataGrid通过存储在List中的JAVABEAN提供数据时候,数据不能正常显示的问题
- javascript调用activeXObject 导出页面表格数据到excel
- asp.net中将DataGrid数据导出到excel或word文件中
- 【转贴】datagrid数据导出到excel文件给客户端下载的几种方法
- 使用poi通过excel模板导出excel数据
- 如何在aSP中通过OccC调用Excel中的数据
- 使用poi通过excel模板导出excel数据
- asp.net Linq把数据导出到Excel的代码
- easyui-datagrid通过action从数据库获取数据的关键代码
- Silverlight 4中把DataGrid数据导出Excel
- datagrid数据导出到excel文件给客户端下载的几种方法