jquery - 将 HTML 表导出到 Excel,但选择文件名称

标签 jquery excel

我正在使用这个功能

var tableToExcel = (function() {
  var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
, base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
, format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p];      }) }
  return function(table, name) {
    if (!table.nodeType) table = document.getElementById(table)
    var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
    window.location.href = uri + base64(format(template, ctx))
 }
})()

示例如下:

http://jsfiddle.net/insin/cmewv/

在该示例中,他们更改了工作表的名称,但是有什么方法可以更改文件的名称吗?

最佳答案

查看答案:Is there any way to specify a suggested filename when using data: URI?

基本上,JavaScript 无法做到这一点。如果正在下载文件 <a>链接,您可以使用 download 指定文件名属性,但是this is not widely supported (目前只有 Chrome 和 BB10)。

关于jquery - 将 HTML 表导出到 Excel,但选择文件名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14125819/

相关文章:

jquery - 如何延迟加载博客文章以缩小页面大小?

javascript - 使用 javascript 清除超时

excel - 在用户窗体/工作表对象中具有可用的公共(public)变量

vba - 从图表系列获取主题颜色信息

javascript - 与自己编写 JavaScript 相比,jQuery 有哪些优势?

javascript - Uncaught ReferenceError : fn is not defined

python - openpyxl生成的Excel文件打开时需要修复

excel - Excel 2013 VBA 代码中的特殊字符(字母 čćžšđ)

javascript JQuery 在页面加载时打印到多个 div?

excel - VBA 用户定义函数在 Mac Excel 2016 中不起作用