我在速度模板中有一个HTML表格.我想使用java脚本或jquery,comatibale和所有浏览器将html表数据导出到excel.我正在使用下面的脚本
<script type="text/javascript">
function ExportToExcel(mytblId){
var htmltable= document.getElementById('my-table-id');
var html = htmltable.outerHTML;
window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
}
</script>
Run Code Online (Sandbox Code Playgroud)
这个脚本在Mozilla Firefox中工作正常,它弹出一个excel对话框,并要求打开或保存选项.但是当我在Chrome浏览器中测试相同的脚本时,它没有按预期工作,当点击按钮时,没有弹出的Excel.数据被下载到一个带有"文件类型:文件"的文件中,没有像.xls那样的扩展名 在chrome控制台中没有错误.
Jsfiddle的例子:
http://jsfiddle.net/insin/cmewv/
这在mozilla中运行良好,但在chrome中不行.
Chrome浏览器测试用例:
第一张图片:我点击导出到Excel按钮
结果:

我想在某些页面中插入此HTML元素:
<a download="somedata.csv"
id="downloadLink"
href="data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333"
>
Click Me
</a>
Run Code Online (Sandbox Code Playgroud)
在所有页面中,当我通过插件更改dom或在元素检查器中手动更改dom时,要将此元素包含在页面的dom中,它的效果非常好!
但是,如果我在Gmail页面中执行相同操作,则生成的文件不会命名为" somedata.csv",并且扩展程序会丢失" csv"!
我在本地文件中尝试了这个,在上传到localhost的文件中,在许多外部网站页面中,除了Gmail页面之外,它都适用.
为什么它在Gmail页面中不起作用?以及如何解决这个问题?