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的更多相关文章

  1. 头疼3-4次的问题,数据从DB导出到EXCEL,再从EXCEL导入到DB,数据格式发生错误 ,导致 程序出错。

    反思: 1 解决 问题的思路 绕远了: 在这个问题出现前,程序是运行正确 的 问题出现前,我误删了DB 的 testcase表的所有 case ,然后 再把邮件 中的excel数据导入到 DB 然后 ...

  2. DevExpress XtraGrid 数据导出导入Excel

    // <summary> /// 导出按钮 /// </summary> /// <param name="sender"></param ...

  3. salesforce 零基础学习(二十三)数据记录导出至excel(自定义报表导出)

    我们都知道,报表有个功能为导出excel,但是有的时候客户需求往往标准的报表达不到,比如导出excel,其中本月修改的数据字段标红,如下图所示. 这就需要我们去写VF来实现此功能. 需求:将数据表记录 ...

  4. MySQL数据导出为Excel, json,sql等格式

    MySQL数据经常要导出为Excel, json,sql等格式,通过步骤都很多,麻烦,现在通过Treesoft可以方便的导出你要的数据格式. 1.在线执行SQL,在数据列表中有相应按钮,方便的将数据导 ...

  5. C#将DataTable数据导出到EXCEL的两种方法

    1.在非服务器控件的页面导出数据,需要借助一张temp空页面post回后台的数据. 前台:window.location.href = "../Temp.aspx"; 后台: tr ...

  6. DevExpress GridControl GridView 导出到 Excel 类

    说明: 1>GridView 导出到 Excel (如果分页,只导出当前页数据) 2>GridView 导出到 Excel 3>方法2可以参考DataTable 导出到 Excel ...

  7. C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]

    还真没做过winform的导出导入,今天上网百度了一下.结果--- 所以还是我自己写个吧.之前做过web的,半搬半做就OK. 1添加引用:Aspose.Cells.dll(我们就叫工具包吧,可以从网上 ...

  8. sql导出到excel

    1.先查询数据ID,别名  导出到excel 2.增加标准名称,标识错误数据,导入sqlServer select distinct [StandardName] from [GMSOA].[dbo] ...

  9. pandans导出Excel并将数据保存到不同的Sheet表中

    数据存在mongodb中,按照类别导出到Excel文件,问题是想把同一类的数据放到一个sheet表中,最后只导出到一个excel文件中# coding=utf-8import pandas as pd ...

随机推荐

  1. linux: cat more less tail head查看文件内容

  2. flume 转

    http://blog.csdn.net/xiao_jun_0820/article/details/38111305

  3. SVN的“Invalid authz configuration”错误的解决方法

    公司有人离职后,我把他svn账号删除 然后就报这个错了,我检查了authz文件,完全看不出什么错误.... 网上的各种方法试一遍,无果. 蹲个厕所,继续查这个问题 看到一个答案: 给不存在的组配置权限 ...

  4. NSArray 快速求和、平均值、最大值、最小值

    在iOS开发中我们经常遇到一个需求,求一个数组的所有元素的和,最大值,最小值或者平均值,有的开发者可能第一想到的是for循环遍历求解,其实苹果提供了更简便的方式.如下: NSArray *arr = ...

  5. java web框架发展的新趋势--跨界轻型App

    “跨界(cross over)在汽车界已然成风,将轿车.SUV.跑车和MPV等多种不同元素融为一体的混搭跨界车型,正在成为汽车设计领域的新趋势.从个人而言,当包容.多元的审美要求和物质要求越来越强烈时 ...

  6. Opencv 直方图比较

    #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...

  7. 191. Number of 1 Bits 二进制中1的个数

    [抄题]: Write a function that takes an unsigned integer and returns the number of ’1' bits it has (als ...

  8. ansible的ad-hoc模式

    一.什么是ad-hoc模式 ansible中有两种模式,分别是ad-hoc模式和playbook模式 ad-hoc简而言之,就是"临时命令" 二.ad-hoc模式使用的场景 场景一 ...

  9. Microsoft(C)注册服务器(32位)CPU占用高

    Microsoft(C)注册服务器(32位)CPU占用高 摘自:https://blog.csdn.net/jtsqrj/article/details/83034252 2018年10月12日 23 ...

  10. Smarty的条件判断语句

    (1)基本句式{if $name eq "Fred"}Welcome Sir.{elseif $name eq "Wilma"}Welcome Ma'am.{e ...