首页 > 代码库 > 导出文件的功能
导出文件的功能
首先是导出文本
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="author" content="oscar999"> <title></title> </head> <body> <a id="test" download="downlaod.txt" href="data:text/txt;charset=utf-8,download Test Data">download</a> </body> </html>
说明一下:
1. download 设置下载的文件名。
2. href 加上 data:text/txt;charset=utf-8 分别设置点击link 是下载文件, 编码是utf-8 . 这个逗号后面的就是保存在文件中的内容了。
导出表格()
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta name="author" content="oscar999">
<title>
</title>
<script>
function clickDownload(aLink) {
var str = "栏位1,栏位2,栏位3\n值1,值2,值3";
str = encodeURIComponent(str);
aLink.href = "data:text/csv;charset=utf-8,\ufeff"+str;
aLink.click();
}
</script>
</head>
<body>
<a id="test" onclick="clickDownload(this)" download="downlaod.csv" href="http://www.mamicode.com/#">download</a>
</body>
</html>
理论上 : 分列使用 , 号分割, 分行用 \n .
可以用以上方式,会发现列可以分开,但是不换行。 看上去不认识 \n.
解决方式是使用 encodeURIComponent 进行编码/
1. 页面的charset 需设置成gb2312
2. 加上 \ufeff BOM 头
以上方法谷歌会有bug 不太兼容a的down 需要替换成
var blob = new Blob([data], { type: ‘text/csv‘ }); //new way var csvUrl = URL.createObjectURL(blob); document.getElementById("mylink").href = http://www.mamicode.com/csvUrl;
导出文件的功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。