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,Fi leMode.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();
                     }
 

你可能感兴趣的:(Excel)