导出DataGrid数据为excel文件传输格式

rabbit_zizhu 2010-11-18 09:30:01
现在需要将DataGrid的数据导出为Excel文件。
现在的处理方式是将DataGrid中的数据全部封装成一个String。
到servlet端进行解析。

但是这样存在的一个问题是:如果数据量过大,效率会不会受到影响。而且封装成一个String,需要特殊字符进来分行。但是这个特殊字符有可能会在数据中也出现,这样就存在很大的隐患。

请问大家都用什么方式将要导出的数据从flex端传到servlet呢。
...全文
265 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbit_zizhu 2010-12-23
  • 打赏
  • 举报
回复
还是没有等到满意的答案。

不知道有没有人试过前台用ArrayCollection和后台List进行转换来传递数据?
rabbit_zizhu 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 curbstone119 的回复:]

???
你Flex的数据是从哪来的??
如果是后台,那直接用后台的数据生成excel不就行了??
[/Quote]

不是后台返回的数据,就能直接用的,需要前台处理一下的。
curbstone119 2010-12-09
  • 打赏
  • 举报
回复
???
你Flex的数据是从哪来的??
如果是后台,那直接用后台的数据生成excel不就行了??
comitea 2010-12-08
  • 打赏
  • 举报
回复
數據綁定到XML,再轉存為.xls
蓝色_冰点 2010-12-07
  • 打赏
  • 举报
回复
我自己封装了个,直接导出电子表格的xml格式,不经过服务器
应该不是你想要的那种
rabbit_zizhu 2010-12-07
  • 打赏
  • 举报
回复
看来又要无满意答案结贴了。最后顶一下。
rabbit_zizhu 2010-12-03
  • 打赏
  • 举报
回复
还没有看到想要的答案。继续顶!
ecoders 2010-11-22
  • 打赏
  • 举报
回复
转成CSV,放到粘贴板就可以了。多大的数据量都不怕,和服务器没有关系
System.setClipboard("" + DataGridDataExporter.exportCSV(dg1));

转csv的代码如下

package com.utils
{
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);
}
}
}
rabbit_zizhu 2010-11-20
  • 打赏
  • 举报
回复
继续顶!希望高人给出更好的方法
rabbit_zizhu 2010-11-19
  • 打赏
  • 举报
回复
怎么沉了啊。继续顶!
水中影子 2010-11-19
  • 打赏
  • 举报
回复
可以把数据封装成html

数据量大,依然不好,可以考虑用后台POI或JXL类似的工具
kellerxq 2010-11-18
  • 打赏
  • 举报
回复

public function loadDGInExcel(dg:DataGrid, url:String):void
{
var request:URLRequest=new URLRequest("./servlet/expexcel");
request.contentType='application/msexcel';
request.data=convertDGToHTMLTable(dg);
request.method=URLRequestMethod.POST;
navigateToURL(request, "_self");
}

convertDGToHTMLTable处理过程中将特殊符号半角转全角如:'<'转为“〈”
下载代码方式:https://pan.quark.cn/s/edc2010ad9a6 ### H3C IMC Portal 认证操作手册关键知识点阐释 #### 一、Portal认证的介绍 **Portal认证**,英文表述为“入口”,在信息技术领域中特指一种利用Web界面核实用户身份的机制,其目的在于对用户的网络访问权限进行管理。在实施Portal认证的网络架构中,未完成认证的用户在尝试上网时会被强制导向一个特定的网址,该网址提供部分免费的网络服务。若用户希望获取更多的互联网资源,则必须通过Portal Web服务器所提供的界面完成身份验证流程。 #### 二、Portal认证系统的构成与作用 1. **系统构成**: - **接入设备**:承担检测用户是否已完成认证的责任,并根据认证结果执行相应的管理策略。 - **Portal Web服务器**:负责呈现认证界面以及处理用户的认证需求。 - **认证服务器**:通常指代RADIUS服务器,承担最终的用户身份核实职责。 2. **功能特点**: - **安全增强**:集成多种安全措施以保障用户数据及网络资源的完整性。 - **本地Portal Web服务器支持**:允许在本地环境中部署Portal Web服务器,以减少对外部服务的依赖性。 - **交互机制**:描述用户与系统之间的认证交互过程。 - **认证方式**:涵盖用户名密码验证等多种认证手段。 - **认证步骤**:详细说明认证的每一个环节,确保用户能够顺利完成身份核实。 - **过滤规范**:用于监管用户在网络中的行为模式。 - **BYOD支持**:实现Bring Your Own Device(自带设备)的认证功能,适应多元化的设备环境。 -...
代码转载自:https://pan.quark.cn/s/dda4d8b11acf 在线支付系统源代码与第三方支付平台构成了现代电子商务体系中不可或缺的组成部分,它们共同形成了数字交易的基础框架。本内容将详细剖析这些核心要素,并围绕相关主题展开一系列关联性知识点的论述。 首先,我们需要明确在线支付系统的概念。在线支付系统是指为消费者提供通过互联网购买商品或服务并完成安全支付操作的专用平台。此类系统通常整合了信用卡处理、电子钱包、银行直接转账等多种支付选项,旨在为用户创造流畅的购物环境。在构建在线支付系统时,保障交易安全、提升使用便捷度以及优化处理效率是必须优先考虑的关键要素。 其次,我们将探讨系统源代码的相关内容。源代码指的是由程序员采用人类可理解语言编写的应用程序基础指令集。对于编程初学者而言,研究在线支付系统的源代码是掌握此类系统开发方法的重要途径。通过分析源代码,开发者可以深入掌握支付流程中的各个关键环节,例如用户身份验证、交易请求处理、银行系统对接等操作。源代码的解读还能帮助开发者学习行业最佳实践,有效预防常见的安全隐患,包括数据库注入攻击和跨站脚本威胁。 再次,第三方支付系统作为另一种重要的支付模式值得关注。这类系统充当商家与消费者之间的中介角色,负责处理交易过程中的支付环节与清算工作。常见的第三方支付服务提供商包括支付宝、微信支付以及PayPal等知名平台。它们通过提供标准化的接口,使商家能够便捷地接入多元化支付渠道,同时通过实施额外的安全防护措施,如风险评估机制和反欺诈系统等,确保消费者在支付过程中的安全性。对于开发者而言,熟练掌握并整合第三方支付系统的应用程序接口(API)是实现在线支付功能的核心技能。 在进行在线支付系统开发时,开发者需要重...

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧