html 导出到 excel

流程 :

  1. 获取html标签内容
  2. 转成blob 对象
  3. 添加模拟事件

<!DOCTYPE html>
<!--  demo -->
<html>
<head>
<meta charset="UTF-8">
<title>网页HTML存本地</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
</head>
<body>
<a href="#">保存文件</a>
<script>

//  事 件 模 拟
/**
*对象 URL 也被称为 blob URL,指的是引用保存在 File 或 Blob 中数据的 URL。使用对象 URL 的
*好处是可以不必把文件内容读取到 JavaScript 中而直接使用文件内容。为此,只要在需要文件内容的地
*方提供对象 URL 即可。要创建对象 URL,可以使用 window.URL.createObjectURL() 方法,并传入
*File 或 Blob 对象。
*/
function fake_click(obj) {
    var ev = document.createEvent("MouseEvents");
    // 初始化事件对象
    ev.initMouseEvent(
        "click", true, false, window, 0, 0, 0, 0, 0
        , false, false, false, false, 0, null
        );
    // 触发事件
    obj.dispatchEvent(ev);
}

function export_raw(name, data) {
   var urlObject = window.URL || window.webkitURL || window;
 
   var export_blob = new Blob([data]);
 
//  XHTML 的命名空间是 http://www.w3.org/1999/xhtml

   var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
   save_link.href = urlObject.createObjectURL(export_blob);
   save_link.download = name;
   fake_click(save_link);
}
var test=document.getElementsByTagName('html')[0].outerHTML;

$('a').click(function() {
export_raw('test.xls', test);
});
</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值