function outExcel(atblData){ 
var w = window.open("about:blank", "Excel", "widht=0, height=0");
w.document.write(atblData.outerHTML);
w.document.execCommand('Saveas',true, 'D:\\会员信息.xls');
alert("导出成功!");
window.close();
}
在点击一个按钮新开一个框口之后,把新开框口提交到SEVERLET里 然后在SEVERLET里执行outExcel函数,在IE6里可以弹出保存路径的对话框,但是在IE7里就不会弹出保存路径的对话框,而是直接alert("导出成功!");
请教大虾 这是怎么回事啊??

解决方案 »

  1.   

    我的IE是 6.0.3790.3959  +sp2 的版本下也有这个问题,郁闷...
      

  2.   

    我也遇到了这个问题,这好像是微软为了安全性考虑,不能用execcommand函数导出除了txt,htm,html,以外的格式,如果你在上面把xls改成txt,就可以了,导出以后再在系统中改文件后缀名。对了,你上面的代码也有点小问题,实际上你的文件还没导出,就弹了提示成功的对话框,有点问题,呵呵!建议改成:
    function   outExcel(atblData){   
    var   w   =   window.open("about:blank",   "Excel",   "widht=0,   height=0"); 
    w.document.write(atblData.outerHTML); 
    if(w.document.execCommand('Saveas',true,   'D:\\会员信息.txt))
    alert("导出成功");
    else 
    alert("导出失败!"); 
    window.close(); 

      

  3.   

    在注册表中添加以下键值,也可解决以上问题!另外微软提供的mshtml.dll更新版本也可解决相应问题,但我一直没找到地方下。• [HKEY_CLASSES_ROOT\.doc] “PerceivedType”=”document” 
    • [HKEY_CLASSES_ROOT\.dot] “PerceivedType”=”document” 
    • [HKEY_CLASSES_ROOT\.xls] “PerceivedType”=”document” 
    • [HKEY_CLASSES_ROOT\.xlt] “PerceivedType”=”document”  
    • [HKEY_CLASSES_ROOT\.ppt] “PerceivedType”=”document” 
    • [HKEY_CLASSES_ROOT\.pot] “PerceivedType”=”document” 
      

  4.   

    FYIhttp://support.microsoft.com/kb/929863/en-us
      

  5.   

    在基于 Microsoft Windows XP 的计算机或基于 Microsoft Windows Server 2003 的计算机上,则您使用 Windows Internet Explorer 7。
    开发使用 ExecCommand 函数与 SaveAs 命令一起的脚本。
    将第二个参数设置为 True 值 ExecCommand 函数中。请注意 在设置为 True 值 ExecCommand 函数中的第二个参数后,您希望 Internet Explorer 7,运行脚本时显示 另存为 对话框。
    在这的种情况下 Internet Explorer 7 可能无法显示 另存为 对话框在计算机上运行脚本时。如果在文本文件类型的文件使用 ExecCommand 函数中设置第三个参数则会出现此问题。 文本文件类型包括.txt 文件、.html 文件和.htm 文件。 将是例如第三个参数设置到.xls 文件 ExecCommand 函数中使用下面的代码。 
    Document.execCommand('SaveAs',true,’sample.xls’)解决方法 
    下载组件
    XP系统 必须安装 Windows XP Service Pack 2 (SP 2)。 
    2003系统 Windows Server 2003 Service Pack 2 (SP 2) 或安装 Windows Server 2003 Service Pack 1 (SP 1)。