上传下载csv数据

一、上传csv数据

1
2
3
4
5
6
7
8
9
10
var file = document.getElementById(fileid).files[0];
if(file){
var reader = new FileReader();
reader.readAsText(file,'GB2312');
reader.onload = function(f){
//console.log(f);
var datatmp = this.result;
var tmparr = datatmp.split(/\r\n/g);
}
}

二、下载csv数据

方法一:datatable自带功能

引入文件

1
2
3
<link href="common/csslib/dataTables.tableTools.min.css">
<script src='common/jslib/publib/dataTables.tableTools.min.js'
charset="utf-8"></script>

配置参数

1
2
3
4
5
6
7
8
9
10
11
"oTableTools": {
"sSwfPath": "/slprj/common/csslib/copy_csv_xls.swf",
"aButtons": [
{
"sExtends": "csv",
"sButtonText": "导出数据",
"sCharSet": "utf8",
"bBomInc": true,
}
]
},

方法二:利用<a>标签下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
a=document.createElement('a');
a.id='downloadFtsetBtn';
a.style.display='none';
a.target='_blank';
document.body.appendChild(a);
a.onclick = function (){
_a = document.getElementById('downloadFtsetBtn');
document.body.removeChild(_a);
}

var blob = new Blob([exportsda], {type: 'text'});
var URL=window.URL || window.webkitURL;
a.href=URL.createObjectURL(blob);
a.download = 'aa.csv';
a.click();

方法三:利用<iframe>标签下载

1
2
3
4
var elemIF = document.createElement("iframe");   
elemIF.src = req;
elemIF.style.display = "none";
document.body.appendChild(elemIF);

方法四:window.open

1
window.open(url);//但是该方法在火狐上没有效果的,在IE浏览器上是可以的。

方法五:window.location

1
window.location.href="htpp://www.baidu.com/test.rar";//火狐有些版本是不支持的。

为了解决这个问题,我们可以换做另外一种方法

1
window.location="htpp://www.baidu.com/test.rar";

热评文章