`

Flex DataGrid导入Excel(一)

阅读更多

    这篇Blog只是写实现思路。

 

   记得刚毕业在公司实习那会儿,想尝试实现Flex的DataGrid的excel导入功能,但由于能力有限,暂时搁置了。最近想继续研究一下Flex的DataGrid组件导入excel数据的问题,在动手写代码之前,理了理一下思路,要解决这个问题,必须考虑一下几点:

   1.如何实现Flex的本地文件读取

   2.如何读取excel文件内容

   3.如何将读取的excel单元格中的内容转换成DataGrid的dataProvider所符合的数据格式

 

     现在先来解决第一个问题,要实现FLex读取本地文件,只能依赖于后台程序了。(据我所知,前台纯Flex代码是无法实现本地文件的读取的),所以考虑到利用后台java的功能,于是参照网上的例子,做了一个文件上传的功能。主要是利用Flex的navigatetourl发送一个Request请求,而在java后台实现一个具有上传文件的Servlet服务,这样第一个问题就解决了。

 

      其次再来看第二个问题,在初步接触了POI(纯java操作excel等MS Office SoftWare的API)之后,第二个问题就不再是难题了,利用HSSF类来读取Excel单元格的内容绝非难事。将读取的Cell按照行来组织成ArrayList,传到前台Flex端。

 

     最后一个问题很关键,如何将后台java读取的excel数据传到前台,并转换成具体DataGrid的dataProvier属性所符合的格式,要解决这个问题,前提是DataGrid的Columns已经生成,只有这样才能锁定DataGrid的单元格。接下来就是按照columns将后台java传过来的ArrayList转换成FLex端的ArrayCollection类型。

 

     总结:与一般的数据库excel导入功能相比,这个Excel导入功能还是不够完善,还有待完善,例如如何将每列的数据与具体某一个Column绑定,还有数据的合法检验等等。

分享到:
评论
2 楼 hquxiezk 2010-07-22  
二楼的
你可以使用google里一个叫as3xls开源项目
1 楼 wycrabbit 2010-05-21  
air 读取 excel  是怎么解决的呢?

相关推荐

Global site tag (gtag.js) - Google Analytics