已经找到的生成excel文件的自己觉得还差不多的方案

[心得] 已经找到的生成excel文件的自己觉得还差不多的方案

现在 找到 两种 生产 excel 的 方案, 分别是 在 客户端 和 服务器端 生产 excel 的

1 , 在服务器端 生成。 后台 是java 的话, poi 制造一个excel文件放到 servlet 的response里面,即可。这样很麻烦,代码 超多,重复利用率超低。数据从客户端传给 服务器端,组个excel再传回来,如果网络慢,数据多,那不等崩溃了。

2, 在客户端生成。 今天发现 一个接口  import flash.external.ExternalInterface;  可以用来 调用javascript
ExternalInterface.call("eval",str);   第一个参数是 javascript的函数名,第二个参数 是用来传递给 javascript函数的。

我这里 直接调用eval函数, 在 as里面产生动态javascript,传递给它。  哈哈,  就可以直接调用以前的javascript代码啦
var str:String = " try{var funobjexcel = new ActiveXObject('excel.application');";
    str += "funobjexcel.visible = true;";
    str += "var funwk = funobjexcel.Workbooks.open(location.href+'test.xls');";
    str += " funobjexcel.Run('Main', '<root><invoice accountId=\"1111\" invoiceNumber=\"2222\"/></root>');";
    str += "}catch(err){";
    str += "alert(err.description);}";
    str += " funobjexcel = null; "
    str += " funwk = null; "
    ExternalInterface.call("eval",str);
传递了一个xml串给 excel模板的宏去处理,Main是excel里面的自定义宏函数。

该方法前提 是 设置网站 为 信任站点。  好处是 在本机 生成 excel,基本不与服务器交互,
节省服务器资源, 强烈推荐、、、

posted on 2010-10-25 10:09 aiaiwoo 阅读(163) 评论(0)  编辑  收藏 所属分类: AC3/FLEX


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿

随笔分类

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜