因为你用的是eclipse自带的浏览器,new ActiveXObject 是ie支持的

解决方案 »

  1.   

    我用IE打开也不行呀,如果直用HTML不在Tomcat服务器上运行就可以.
    这是为什么?
      

  2.   

     可以试试设置一下你的ActiveX控件,全部改为启动或者提示
      

  3.   

    这个我设置了,设置为"提示".
    如果不在在Tomcat服务器上直接用IE打开就会提示,按"是"后就会打开"Wrod".
    就是在Tomcat服务器上运行不行.
    请大家帮帮忙!!!如果不用new ActiveXObject("Word.Application"),JSP里有什么好的方法可以把页面里表格的数据(读取数据库里的数据)导出到Word/Excel里吗?
      

  4.   


    <html>

    <head>
    <script language="javascript">function outDoc(){ var table=document.all.report; row=table.rows.length; column=table.rows(1).cells.length; var wdapp=new ActiveXObject("Word.Application"); wdapp.visible=true; wddoc=wdapp.Documents.Add();  //添加新的文档 thearray=new Array();//将页面中表格的内容存放在数组中for(i=0;i<row;i++){   thearray[i]=new Array();   for(j=0;j<column;j++){       thearray[i][j]=table.rows(i).cells(j).innerHTML;   }}var range = wddoc.Range(0,0);range.Text="订单信息列表"+"\n";wdapp.Application.Activedocument.Paragraphs.Add(range);wdapp.Application.Activedocument.Paragraphs.Add();rngcurrent=wdapp.Application.Activedocument.Paragraphs(3).Range;var objTable=wddoc.Tables.Add(rngcurrent,row,column)     //插入表格for(i=0;i<row;i++){   for(j=0;j<column;j++){   objTable.Cell(i+1,j+1).Range.Text = thearray[i][j].replace("&nbsp;","");   }}wdapp.Application.ActiveDocument.SaveAs("orderInfo.doc",0,false,"",true,"",false,false,false,false,false);     //保存到Word的默认文档保存路径中wdapp.Application.Printout();     //自动打印wdapp=null;}function outExcel(){   var table=document.all.report;   row=table.rows.length;   column=table.rows(1).cells.length;   var excelapp=new ActiveXObject("Excel.Application");   excelapp.visible=true;   objBook=excelapp.Workbooks.Add(); //添加新的工作簿   var objSheet = objBook.ActiveSheet;   title=objSheet.Range("D1").MergeArea;  //合并单元格   title.Cells(1,0).Value =doctitle.innerHTML.replace("&nbsp;","");  //输出标题   title.Cells(1,1).Font.Size =16;   for(i=1;i<row+1;i++){      for(j=0;j<column;j++){        objSheet.Cells(i+1,j+1).value=table.rows(i-1).cells(j).innerHTML.replace("&nbsp;","");      }   }   excelapp.UserControl = true;}</script> </head>
    <body>
    <table id="report">
    <tr><td>hahah</td><td>hahah</td><td>hahah</td><td>hahah</td></tr>
    <tr><td>hahah</td><td>hahah</td><td>hahah</td><td>hahah</td></tr>
    <tr><td>hahah</td><td>hahah</td><td>hahah</td><td>hahah</td></tr>
    <tr><td>hahah</td><td>hahah</td><td>hahah</td><td>hahah</td></tr>
    </table>
    <input type=button value="输出到word" onClick="outDoc();">
    <input type=button value="输出到Excel" onClick="outExcel();">

    </body>

    </html>同样的问题 
    http://localhost:8080/test.html 输出到word和Excel时 报 automation 服务器不能创建对象的错误(估计是不能加载ActiveX控件,不知怎么解决);
    D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\test.html 能加载ActiveX控件,输出到word和Excel都没有问题,运行正常
    期待高人出来指点一下啊
      

  5.   

    这件事是很让人上火,我也遇到了。不过你可以试着改用其他的方式,可以使用JXl将数据导出。
      

  6.   

    导出到Excel很方便
    在jsp中加几行代码既可以。
    导出word太恼火我做了一个,如果下载异常,会有一个没有关掉的WINWORD.exe进程,如果不手动去删掉,下一次就导出不了并且WORD分页真恼火,不会。网上的分页代码,一点都不人性化。
      

  7.   

    是不是IE安全级别限制了不让这些API使用。
    你把你应用的地址加入到IE的受信任的站点,然后在试一下。
    加入受信任站点后,安全级别限制就比较低了。
      

  8.   

    我也是, 对折腾了一下午了 都不知道怎么回事, 老报那错,但在html页面里  是没问题的 。气咂我了 
      

  9.   

     兄弟,  我找到方法了, 只要把internet选项的  安全/自定义级别,将所有关于ActiveX的选项置为执行或者提示, 就可以了。你们试试看!!
      

  10.   

    打开Internet Explorer “工具”菜单栏中的“选项”一栏,单击“安全”栏中的“自定义级别”选项卡,将第三项“对没有标记为安全的activex控件进行初始化和脚本运行”设置成“启用”即可.