日期:2014-05-16  浏览次数:20439 次

js操作excel的自我总结

遇到一个功能开发,直接在页面上点击一个按钮,然后弹出一个excel,进入"打印预览"模式,目前我用js实现了,具体如下,如果大家发现有bug,麻烦您指正出来,如果有其他方法(比如用其他语言实现等),希望能够共享下.

//新建一个excel文件,设置为打印预览
function xlPrint(){
  var xlApp;//存放Excel对象
  var xlBook;//存放Excel工件簿文件
  var xlSheet;//存放Excel活动工作表
  try{
    xlApp = new ActiveXObject("Excel.Application");
  } catch(e){
    alert("请启用ActiveX控件设置!");
    return;
  }
 
     var xlBook = xlApp.Workbooks.Add;
     var xlSheet = xlBook.Worksheets(1);

     xlSheet.Cells(1,1).Value = "内容";       //这里为新建的excel增加数据        
 
  xlBook.Worksheets(1).Activate;
  xlApp.Visible = true;
  xlSheet.PrintPreview; // 打印预览
  xlBook.Close(false); //如果为true,代表关闭的时候需要保存,false代表不需要关闭
  xlApp.Quit();
  xlApp = null;
}
网上的话 写道
大家都知道在使用ActiveXObject时需要修改IE的安全级别,一般我们用的方法就是直接修改:Internet选项->安全->自定义级别->将’对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本’设置为’启用’。
但是这样修改IE的安全级别后有一个不好的地方,那就是在使用时IE会提示“当前安全设置会使计算机有风险”,这样就会给用户一个不好的印象,那么有什么解决方法吗?
其实很简单,只要我们将安全级别改为“提示”即可,这样在使用过程中就会提示“在此页上的ActioveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?”,我们只要选择是就行了。这样给用户的体验度就大大提高了,至少让用户不会认为你的东西不安全

?

1 楼 whiletrue 2011-04-07  
IE Only啊.有时候就是这么无奈
2 楼 yixin416757625 2011-04-07  
在.html页面使用可以,lz有没有在jsp中试过? 貌视在jsp中使用无效
3 楼 zjhlht 2011-04-07  
孤陋寡闻了,JS还可以操作excel,不过只能IE,在我的意料范围之内!!!

呵呵,学习了!
4 楼 rainsilence 2011-04-07  
任何需要手动设置客户端环境的都严重影响用户体验。
5 楼 无根V稻草 2011-04-08  
学习了 还没用过这种功能呢都
6 楼 zh286091487 2011-04-13  
yixin416757625 写道
在.html页面使用可以,lz有没有在jsp中试过? 貌视在jsp中使用无效

可以在jsp中使用,我的项目就是在jsp中使用的