前端js直接导出生成csv文件

本文链接: http://www.zxlucky.com/wordpress/archives/296

作者:陶路

场景:

有些场景下,前端需要筛选数据内容 编辑数据内容 之后生成表格文件 或者不想泄露给服务端数据资料,该方法无需通过服务端 可以直接在浏览器生成csv文件

csv文件格式定义方法:csv文件可以用excel打开 ,每行间隔用 “\n” 隔开,每列间隔用“,”隔开

标签代码:

<a id="out2csv"  href="#" >导出csv</a>

js代码:

out2csv.click(function(){
    str = 'id,name,tel\n1,taolu,02423187000\n2,taodalu,02423186000'
    out2csv.attr('href', 'data:text/txt;charset=utf-8,\ufeff'+str);
    out2csv.attr('download', 'out2csv.csv');
    out2csv.click();
})
可能遇到的问题:

在mac上可能无法打开 可以用商店里的其他软件打开csv文件

另外 导出的csv文件 excel因为没有任何数据描述信息 可能存在将电话号 订单编号等长数字数据强制转换成科学计数法的 数字类型 解决这个问题 参考其他应用里 采用了在数据前 加“`”字符的方法 导出的数据会携带该字符 做excel导入的时候需要特殊处理

继续阅读前端js直接导出生成csv文件