【JS】如何将网页上的Table元素下载为CSV文件

【背景】

网页上有Table元素,希望加一个按钮,实现点击按钮就下载Table元素内容为CSV文件。

【分析】

首先,由于目标是下载已经展示在网页上的Table元素内容,所以,可以直接由前端JS实现。

如果是要下载分页展示的全量文件,则不能使用此方法。

【方法】

JS功能函数:

javascript 复制代码
  <script>
    function download2(type, fn, dl) {
      var elt = document.getElementsByClassName('hover stripe dataTable no-footer')[1];
      var wb = XLSX.utils.table_to_book(elt, {sheet:"Sheet JS"});
      return dl ?
        XLSX.write(wb, {bookType:type, bookSST:true, type: 'base64'}) :
      XLSX.writeFile(wb, fn || ('BaseCustTranTable.' + (type || 'xlsx')));
    }
  </script>

Html中插入按钮元素并关联函数:

html 复制代码
  <button type="button" class="btn btn-default" onclick="download2();">
    <span class="glyphicon glyphicon-export" aria-hidden="true">页面下载</span>
  </button>
相关推荐
祈澈菇凉2 小时前
什么是 Vue 的自定义事件?如何触发和监听?
前端·javascript·vue.js
a0023450013 小时前
python类型转换&深浅拷贝
开发语言·python
2301_766536053 小时前
调试无痛入手
开发语言·前端
+7203 小时前
Java 的 HttpClient 中使用 POST 请求传递参数
java·开发语言
@大迁世界4 小时前
构建 Next.js 应用时的安全保障与风险防范措施
开发语言·前端·javascript·安全·ecmascript
IT、木易5 小时前
ES6 新特性,优势和用法?
前端·ecmascript·es6
is今夕6 小时前
postcss.config.js 动态配置基准值
javascript·vue.js·postcss
水瓶丫头站住6 小时前
Qt中QRadioButton的样式设置
开发语言·qt
青茶绿梅*26 小时前
500字理透react的hook闭包问题
javascript·react.js·ecmascript