`
nlslzf
  • 浏览: 1048935 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过剪贴板,带导入导出excel文件的datagrid

    博客分类:
  • flex
阅读更多
本文绝对参考
http://hi.baidu.com/%CA%AF%CD%B7%B5%C4%B1%A6%B1%A6/blog/item/96592ed3c2b304003bf3cf46.html

package com.yyhy.flex.util
{
	import flash.events.KeyboardEvent;
	import flash.events.TextEvent;
	import flash.text.TextField;
	import flash.text.TextFieldType;
	
	import mx.controls.*;
	import mx.controls.dataGridClasses.DataGridColumn;
    //import mx.events.
	public class EIDataGrid extends DataGrid
	{
		public function EIDataGrid()
		{
			super();
			this.addEventListener(KeyboardEvent.KEY_DOWN,KeyDownHandler);
			this.addEventListener(KeyboardEvent.KEY_UP,KeyUpHandler);
		}
		private function KeyDownHandler(event:KeyboardEvent):void
   			{
	     		if (event.ctrlKey && !this.getChildByName("clipboardProxy"))
	     		{
	       			// Add an invisible TextField object to the DataGrid
	       			var textField:TextField = new TextField();
	       			textField.name = "clipboardProxy";
	       			this.addChild(textField);
	       			textField.visible = false;
	
	       			textField.type = TextFieldType.INPUT;
	       			textField.multiline = true;
	
	       			// Populate the TextField with selected data in TSV format
	
	       			textField.text = getTextFromItems(this.selectedItems);
	       			//textField.text = getTextFromItems(dataGrid.dataProvider.source);
	       			textField.setSelection(0, textField.text.length - 1);
	
	       			// Listen for textInput event
	
	       			textField.addEventListener(TextEvent.TEXT_INPUT,
	           		clipboardProxyPasteHandler);
	
	       			// Set player-level focus to the TextField
	
	       			systemManager.stage.focus = textField;
	     		}//end if
	   		}//end function


	   		private function KeyUpHandler(event:KeyboardEvent):void
	   		{
	     		if (!event.ctrlKey)
	     		{
	       			var textField:TextField = TextField(this.getChildByName("clipboardProxy"));
	       			if (textField)
	       			{
	         			this.removeChild(textField);
	         		}//end if
	     		}//end if
	   		}//end function

	   		private function clipboardProxyPasteHandler(event:TextEvent):void
	   		{
	     		// Extract values from TSV format and populate the DataGrid
	
	     		var items:Array = getItemsFromText(event.text);
	     		for each (var item:Object in items)
	       			this.dataProvider.addItem(item);
	   		}//end function

	   		private function getItemsFromText(text:String):Array
	   		{
	     		var rows:Array = text.split("\n");
	     		if (!rows[rows.length - 1])
	       			rows.pop();
	
	     		var columns:Array = this.columns;
	     		var itemsFromText:Array = [];
	
	     		for each (var rw:String in rows)
	     		{
	       			var fields:Array = rw.split("\t");
	
	       			var n:int = Math.min(columns.length, fields.length);
	       			var item:Object = {};
	       			for (var i:int = 0; i < n; i++)
	         			item[columns[i].dataField] = fields[i];
	       			itemsFromText.push(item);
	    		 }
	
	     		return itemsFromText;  
	   		}//end function
		private function getTextFromItems(items:Array):String
	   		{
	     		var columns:Array = this.columns;
	     		var textFromItems:String = "";
		   		//add datagrid headtext	
	   			for each (var i: DataGridColumn in columns)
	     		{
	         		textFromItems += i.headerText + "\t";
	         	}
	       		textFromItems += "\n";
	       			
	     		for each (var it:Object in items)
	     		{
	     			
	       			for each (var c: DataGridColumn in columns)
	         			textFromItems += it[c.dataField] + "\t";
	       			textFromItems += "\n";
	     		}
	
	     		return textFromItems;
	   		}//end function
	}
}




分享到:
评论
1 楼 sherrysky 2008-08-19  
  

相关推荐

    WPF中对Excel文件的导入导出

    在WPF(Windows Presentation Foundation)应用开发中,与Excel文件的交互是常见的需求,比如导入数据到Excel,或者从Excel导出数据。本教程将详细讲解如何实现一个包含"导入"和"导出"功能的界面,并展示数据在一个...

    easyui datagrid 数据导出到Excel

    同时,注意导出时的样式保持一致,确保导出的Excel文件能够准确反映Datagrid中的数据和布局。 总结,将EasyUI Datagrid数据导出到Excel可以通过JavaScript库如wxport,或者jQuery插件配合html2canvas和jsPDF等工具...

    WPF导入导出excel.docx

    WPF 导入导出 Excel 文件 WPF(Windows Presentation Foundation)是一种基于 .NET Framework 的图形用户界面...通过使用 XAML 语言、控件模型、数据绑定和 Excel Interop 库,可以实现导入导出 Excel 文件等功能。

    VB6 DataGrid中的数据导出到Excel

    这些关键词表明了该示例代码的主要功能是将VB6中的DataGrid控件中的数据导出到Excel文件中。 部分内容 部分内容中提供了两个函数:ChangetoExcel和CreateExcel。下面将对这两个函数进行详细解释: ChangetoExcel...

    asp.net导入导出excel表,导入到sql数据库

    以上就是关于“asp.net导入导出excel表,导入到sql数据库”的详细解析,涵盖了从数据的导出到导入的整个流程,希望对你的项目有所帮助。在实际开发中,务必注意错误处理和异常捕获,确保数据的完整性和安全性。

    C#datagrid控件导入导出xml文件demo

    这个"C# DataGrid控件导入导出XML文件"的示例,就是关于如何使用C#的DataGrid控件与XML数据进行交互的一个教学实例。 XML(eXtensible Markup Language)是一种标记语言,常用来存储和传输结构化数据。在C#中,我们...

    Excel导入导出,zip包

    首先,`Excel导入导出`涉及到的数据操作是Excel文件中的数据与其他系统或应用之间的交换。在Java环境中,可以使用Apache POI库来操作Excel文件。例如,`ht-excel.jar`很可能是一个包含Apache POI或其他类似库的Java...

    WPF中DataGrid导入Excel示例

    本程序实现功能: 1.DataGrid数据的显示、修改与保存 2.DataGrid数据导入Excel

    WPF中DataGrid对Excel导入导出操作源码

    在Windows Presentation Foundation (WPF)应用开发中,DataGrid组件是一种强大的数据展示工具,它可以用于显示...通过学习和理解这段代码,开发者可以轻松地在自己的项目中实现DataGrid与Excel之间的数据导入导出功能。

    Flex datagrid导出为Excel文件、CSV文件和到剪贴板

    使用flash builder测试成功,绝对可以使用,使用的swc包都包含在里面 主要作用:使用flex把datagrid里面的数据(ArrayCollection)导出为Excel文件、CSV文件和导出到剪贴板

    DataGrid导出EXCEL的几个方法(WebControl)

    通过本文的介绍,我们不仅了解了DataGrid导出Excel的基本原理和实现方法,还深入探讨了不同场景下的最佳实践。无论是在简单的数据导出,还是在复杂的报表制作中,选择合适的方法和工具都将极大提升开发效率和用户...

    vb DataGrid导出excel例子

    本例提供的"vb DataGrid导出excel例子"是一个很好的学习资源,它将展示如何在VB中实现这个功能,使得开发人员能够快速地将用户界面的数据转换为可编辑的Excel文件。 首先,我们需要了解VB中与DataGrid和Excel交互的...

    将Excel2007导入到silverlight的datagrid中

    在IT行业中,将数据从Excel ...总的来说,将Excel 2007的数据导入到Silverlight的DataGrid涉及了文件读取、数据绑定、UI自定义等多个技术环节。通过学习和实践,开发者可以熟练掌握这一技能,提高应用的数据处理能力。

    c#.net开发,网页excel导入导出功能模板

    3. **Excel导入导出**:网页Excel导入导出功能涉及到读取和写入Excel文件。在C#.NET中,这通常通过第三方库来实现,例如NPOI、EPPlus等。这些库提供了操作Excel文件的API,允许开发者读取工作表、行、列,以及写入...

    轻松解决datagrid-export.js的导出excel数字变科学计数法的问题

    本文件只需修改一个属性,直接替换官方文件,引入即可解决导出excel的数字变成科学计数法的问题。 有个项目需要用到jquery 的easyui和导出excel,发现官方下载的datagrid-export.js有几处bug,例如导出的excel格式,...

    WPF_NPOI导出datagrid 到Excel方法.rar

    FileStream BookStream = new FileStream(saveFileDialog.FileName.ToString(), FileMode.Create, FileAccess.Write);//定义文件流 book.Write(BookStream);... MessageBox.Show("导出保存成功!");

    easyui datagrid 导出到excel

    在IT领域,EasyUI Datagrid是一款基于jQuery的...通过以上步骤,用户就能成功地将EasyUI Datagrid中的数据导出到Excel文件中,实现数据的便捷管理和分析。在实际应用中,可以根据项目需求对这个过程进行优化和扩展。

    wpf datagrid数据导出到execl

    private void daochu_Click(object sender, ... if (dataGrid.Columns[i].Visibility == System.Windows.Visibility.Visible)//只导出可见列 { dt.Columns.Add(dataGrid.Columns[i].Header.ToString());//构建表头

    Flex3ReadWriteExcel(flex3导入导出excel表格)

    本知识点主要聚焦于Flex3如何实现数据的读写操作,特别是与Microsoft Excel文件的交互,即“Flex3ReadWriteExcel(flex3导入导出excel表格)”。这在实际业务场景中非常常见,例如数据分析、报表生成以及数据交换等。 ...

    silverlight中导入和导出Excel

    本文将详细探讨如何在Silverlight应用程序中实现Excel文件的导入与导出功能。 首先,Silverlight自身并不直接支持读写本地文件系统,包括Excel文件。因此,我们需要借助其他库或服务来实现这一目标。一种常见的方法...

Global site tag (gtag.js) - Google Analytics