600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > IE8 Automation 服务器不能创建对象 解决方法

IE8 Automation 服务器不能创建对象 解决方法

时间:2022-02-27 01:25:30

相关推荐

IE8 Automation 服务器不能创建对象 解决方法

结论,在ie8中无法解决Automation 服务器不能创建对象

起因:自己想写个js测试下如何导出文件。。。

就在网上找了段代码想测试下。。。

<SCRIPT LANGUAGE="javascript">function method1(tableid) {//整个表格拷贝到EXCEL中var curTbl1 = document.getElementById(tableid);var oXL = new ActiveXObject("Excel.Application");//创建AX对象excelvar oWB = oXL.Workbooks.Add();//获取workbook对象var oSheet = oWB.ActiveSheet;//激活当前sheetvar sel = document.body.createTextRange();sel.moveToElementText(curTbl1);//把表格中的内容移到TextRange中sel.select();//全选TextRange中内容sel.execCommand("Copy");//复制TextRange中内容 oSheet.Paste();//粘贴到活动的EXCEL中oXL.Visible = true;//设置excel可见属性}function method2(tableid) //读取表格中每个单元到EXCEL中{var curTbl2 = document.getElementById(tableid);var oXL = new ActiveXObject("Excel.Application");//创建AX对象excelvar oWB = oXL.Workbooks.Add();//获取workbook对象var oSheet = oWB.ActiveSheet;//激活当前sheetvar Lenr = curTbl2.rows.length;//取得表格行数for (i = 0; i < Lenr; i++){var Lenc = curTbl2.rows(i).cells.length;//取得每行的列数for (j = 0; j < Lenc; j++){oSheet.Cells(i + 1, j + 1).value = curTbl2.rows(i).cells(j).innerText;//赋值}}oXL.Visible = true;//设置excel可见属性}</SCRIPT>

ActiveXObject //该对象是IE浏览器独有的对象,也就是说其他浏览器不兼容。(IE8也不能用。)

测试时:Automation 对象一直创建不了。。。擦 后来经过多方查证得知如上结论。

最原始的需求: 后台java 前台 flex ,页面为MecGrid 的表格,先已实现导出excel ,但需求修改为,点导出按钮时,需要有 打开/保存/取消 的那种选项。

MecGird 导出excel 好办:以下为flex 代码(SDK版本为3.3)

var exp:MecExporter = new MecExporter();exp.charset="gbk";exp.AddDataGrid(mecex, "");//mecex 即为MecGrid对象var ebt:ByteArray = exp.Export2BiffExcel(); //保存excelvar f:FileReference = new FileReference(); f.save(ebt,(this.title==""?"报表":this.title)+".xls");

但那个打开,貌似没法做,就想到了 js ,尝试了半天,发现 js 不能写出excel 文件。IE中ActiveXObject 可以实现,但ie8 还不支持那个类,这。。。

得出结论:看来前台是没有办法稳妥的解决这个需求了。现在的想法就是从后台来。。。

具体后台方案之后在上传。

扩展阅读:JS读取本地文件及目录的方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。