as3 操作excel表格

原文 http://blog.sina.com.cn/s/blog_8c26f28301014z2z.html

 

最近做一个小东西,用到了rt这样的东西,在网上搜了一下,确实有这个功能,但是对中文的支持不是很好,而且,是针对flex 的,纯的as3项目用它就一直报错,因为as项目里面没有ArrayCollection,也没有那些数据校验的类,网上的朋友有很多资料,在加上我自己的一些问题和解决方法,规整如下
官方as3xls的使用简介:http://code.google.com/p/as3xls/wiki/Tutorial
但是这个类好久没有更新了,对中文的支持很差,国内一些大牛对as3xls类进行了修改,增加了对中文的支持还是非常感谢的。源码和swc下载:http://bbs.9ria.com/viewthread.php?tid=132520&extra=
虽然支持了中文,但是还是不能导出多个sheet,期待大牛继续更新、关注。
这些已经足够用的了,但是用纯的as项目,还是不能用因为没有ArrayCollection,和数据校验的类,我在网上找了很多方法,整合了一些资源,再将这些包直接导入进去http://bbs.9ria.com/viewthread.php?tid=132520&extra=
到这一步,可能还会有 “区域设置“en_US”解析资源束”这样的问题,这个我也遇到了,解决的方法http://blog.sina.com.cn/s/blog_8c26f28301014xtl.html
Ok,这样你就很容易操作你的excel表格了,使用还是很简单的,下面是网友的一个demo
import com.as3xls.xls.ExcelFile;
import com.as3xls.xls.Sheet;
import flash.filesystem.FileStream;

private function saveform():void{
               
                var file:File = new File(File.applicationDirectory.resolvePath("data/Accounting.xls").nativePath);

                //读取文件
                var stream:FileStream = new FileStream();
                stream.open(file,FileMode.READ);
                var ba:ByteArray = new ByteArray();
                stream.readBytes(ba);
                stream.close();
               
                var xls:ExcelFile = new ExcelFile();
                xls.loadFromByteArray(ba);
                var sheet:Sheet = xls.sheets[0];
                var rownow:int = sheet.rows;
               
                //插入新的行
                sheet.setCell(rownow,0,"新的数据");
               
                //写文件
                var nba:ByteArray = xls.saveToByteArray();
                var nstream:FileStream = new FileStream();
                nstream.open(file,FileMode.WRITE);
                nstream.writeBytes(nba);
                nstream.close();
            }
 
上一篇:我的网站的结构说明


下一篇:我的网站的后台管理的结构图。