[AIR] AIR将数据保存并导出为Excel
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
import flash.net.FileReference;
import flash.net.ObjectEncoding;
import flash.text.TextField;
import flash.utils.ByteArray; /**
* @author Frost.Yen
* @E-mail 871979853@qq.com
* @create 2015-8-1 下午8:54:59
*
*/
[SWF(width="1024",height="768")]
public class ExportExcel extends Sprite
{
private var _fields:Array = ["姓名", "地址","联系电话","QQ","电子邮箱"];
private var _fields_en:Array = ["name", "address", "tel", "qq", "email"];
private var _datas:Array = [];
private var _btn:TextField;
public function ExportExcel()
{
initViews();
} private function initViews():void
{
for(var j:int = 0;j<_fields.length;j++){
var title:TextField = getText(100,20,_fields[j]);
title.x = j*100+100;
title.y = 50;
this.addChild(title);
}
for(var i:int = 0;i<10;i++){
var obj:Object = {name:"Name"+i,address:"address"+i,tel:"tel"+i,qq:"qq"+i,email:"email"+i};
_datas.push(obj);
var count:int = 0;
for(var key:String in obj){
var t:TextField = getText(100,20,obj[key]);
t.x = 100*count+100;
t.y = 20*i+70;
count++;
this.addChild(t);
}
}
_btn = new TextField();
_btn.selectable = false;
_btn.autoSize = "left";
_btn.border = true;
_btn.text = "导出Excel";
_btn.x = 620;
_btn.y = 50;
_btn.addEventListener(MouseEvent.CLICK,onExport);
this.addChild(_btn);
}
private function onExport(e:MouseEvent):void
{
save();
}
private function save():void
{
var xlsStr:String = "<html><head></head><body><table>";
xlsStr += "<tr>";
for each(var fieldHead:String in _fields)
{
xlsStr += "<td>" + fieldHead + "</td>";
}
xlsStr += "</tr>";
for each(var item:Object in _datas)
{
xlsStr += "<tr>";
for each(var field:String in _fields_en)
{
xlsStr += "<td>" + item[field] + "</td>";
}
xlsStr += "</tr>";
}
xlsStr += "</table></body></html>"; var bytes:ByteArray = new ByteArray();
//bytes.writeUTFBytes(xlsStr);
bytes.writeMultiByte(xlsStr, "GB2312");
new FileReference().save(bytes, "data.xls"); //运用File可以达到同样效果,而且不用弹出保存对话框
/*var file:File = File.desktopDirectory.resolvePath("data.xls");
var fs:FileStream = new FileStream();
fs.open(file, flash.filesystem.FileMode.WRITE);
fs.writeMultiByte(xlsStr,"GB2312");
fs.close();*/
}
private function getText(w:Number,h:Number,text:String):TextField
{
var t:TextField = new TextField();
t.width = w;
t.height = h;
//t.autoSize = "center";
t.selectable = false;
t.border = true;
t.text = text;
return t;
}
}
}
[AIR] AIR将数据保存并导出为Excel的更多相关文章
- 头疼3-4次的问题,数据从DB导出到EXCEL,再从EXCEL导入到DB,数据格式发生错误 ,导致 程序出错。
反思: 1 解决 问题的思路 绕远了: 在这个问题出现前,程序是运行正确 的 问题出现前,我误删了DB 的 testcase表的所有 case ,然后 再把邮件 中的excel数据导入到 DB 然后 ...
- DevExpress XtraGrid 数据导出导入Excel
// <summary> /// 导出按钮 /// </summary> /// <param name="sender"></param ...
- salesforce 零基础学习(二十三)数据记录导出至excel(自定义报表导出)
我们都知道,报表有个功能为导出excel,但是有的时候客户需求往往标准的报表达不到,比如导出excel,其中本月修改的数据字段标红,如下图所示. 这就需要我们去写VF来实现此功能. 需求:将数据表记录 ...
- MySQL数据导出为Excel, json,sql等格式
MySQL数据经常要导出为Excel, json,sql等格式,通过步骤都很多,麻烦,现在通过Treesoft可以方便的导出你要的数据格式. 1.在线执行SQL,在数据列表中有相应按钮,方便的将数据导 ...
- C#将DataTable数据导出到EXCEL的两种方法
1.在非服务器控件的页面导出数据,需要借助一张temp空页面post回后台的数据. 前台:window.location.href = "../Temp.aspx"; 后台: tr ...
- DevExpress GridControl GridView 导出到 Excel 类
说明: 1>GridView 导出到 Excel (如果分页,只导出当前页数据) 2>GridView 导出到 Excel 3>方法2可以参考DataTable 导出到 Excel ...
- C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]
还真没做过winform的导出导入,今天上网百度了一下.结果--- 所以还是我自己写个吧.之前做过web的,半搬半做就OK. 1添加引用:Aspose.Cells.dll(我们就叫工具包吧,可以从网上 ...
- sql导出到excel
1.先查询数据ID,别名 导出到excel 2.增加标准名称,标识错误数据,导入sqlServer select distinct [StandardName] from [GMSOA].[dbo] ...
- pandans导出Excel并将数据保存到不同的Sheet表中
数据存在mongodb中,按照类别导出到Excel文件,问题是想把同一类的数据放到一个sheet表中,最后只导出到一个excel文件中# coding=utf-8import pandas as pd ...
随机推荐
- Jedis连接Redis三种模式
这里说的三种工作模式是指: 1.单机模式 2.分片模式 3.集群模式(since 3.0) 说明图详见以下: 使用单机模式连接: private String addr="192.168.1 ...
- STREAMING #5 题解 3.高位网络
高维网络 [题目描述] 现在有一个 d 维的坐标网格,其中第 i 维坐标的范围是[0,a_i].在这个范围内建立一个有向图:我们把范围内的每个整点(每一维坐标均为整数的点)当做图上的顶点.设点 A(0 ...
- easyui 获取当前页签选中的名称
parent.parent.$("#tabs").tabs('getSelected').panel('options').title == "收藏夹管理"
- [GO]结构体成员的使用:指针变量
package main import "fmt" func main() { type student struct { id int name string sex byte ...
- python传递任意数量的实参
1.传递任意的实参 def make(*test):#带*号 print(test) make("one")#传递一个实参 make("one","t ...
- a 标签 name 属性 页面定位 (一)
a(§b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
- Linux ps 进程状态码
D 不可中断睡眠(通常进程在进行I/O) R 运行中或者可运行状态(在运行队列中) S 可中断睡眠(等待event,进程idle中) ...
- [转载]Java线程的两种实现方式
转载:http://baijiahao.baidu.com/s?id=1602265641578157555&wfr=spider&for=pc 前言 线程是程序的一条执行线索,执行路 ...
- 修改TomCat端口实现多实例
TomCat默认的端口是8080,还会占用8005,8009和8443端口.如果已经启动了tomcat,再启动一个tomcat会发现这些端口已经被占用了,这个时候就需要修改端口号. 以apac ...
- Android-Activity临时数据的保存
Activity临时数据的保存是非常重要的,例如:一款小说APP应用,读者使用这款APP看到了223页,用户也没有去记看了多少页: 突然去接了个电话,或者开启的应用程序太多了,可能会导致这款APP应用 ...