我也遇到了这个问题,这好像是微软为了安全性考虑,不能用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();
}
document
.
exec
Command
('SaveAs',
false
,'Test.
xls
');
//该方法只在IE中支持,谷歌/edge都无法识别,
//因IE不再被
微软
推荐使用,手上多个项目需要整改
借鉴网上已有的例子实现在其他浏览器正常下载页面表格到
Excel
:
<!DOCTYPE
html
>
<meta charse.
EB页面导出为
EXCEL
文档的方法
function
saveCode(table
id
) { var winname =
window
.open(, newwin, ); var str
HTML
=
document
.getElementBy
Id
(table
id
).inner
HTML
;//根据表格的
id
获取内容
// 导出
$scope.doExport
Excel
=
function
() {
var winname =
window
.open('', '_blank', 'top=10000');
//获得页面上需要导出的数
[color=red]最近学习编辑器,接触源码之前,我考虑JS应该有一个函数可以得到 所选择文本的内容,今天看到 createRange() ,接着有发现一个
exec
Command
(),惊喜,这可是让菜鸟经验值暴涨的函数啊,呵呵,从网上找了些资料,收藏之。
from:http://blog.jerryjiang.net/?p=33[/color]————————————————————————...
第三个参数也是可选的,在可应用的情况下,使用它来将任何所需参数传递给该命令。其中:s
Command
为指令参数(如下例中的”2D-Position”),交互方式参数如果是true的话将显示对话框,如果为
false
的话,则不显示对话框(下例中的”
false
”即表示不显示对话框),动态参数一般为一可用值或属性值(如下例中的”true”)。(根据在winxpsp2的ie6下测试,虽然可能仍然调用了一次网络存取的api,但是并没有发生实际的请求,症状就是鼠标有极短时间的抖动,但是图像 不会闪烁)。