var content = "问题, 回答";
// utf-8保存的csv格式文件要让Excel正常打开的话,必须加入在文件最前面加入 \uFEFF。
var csv = "\uFEFF" + content;
//定义文件内容,类型必须为Blob 否则createObjectURL会报错
let content = new Blob([csv], {type: 'text/plain'});
//生成url对象
let urlObject = window.URL || window.webkitURL || window;
let url = urlObject.createObjectURL(content);
//生成<a></a>DOM元素
let el = document.createElement("a");
//链接赋值
el.href = url;
el.style.display = 'none';
el.download = "样例文件.csv";
//必须点击否则不会下载
el.click();
//移除链接释放资源
urlObject.revokeObjectURL(url);
utf-8保存的csv格式文件要让Excel正常打开的话,必须加入在文件最前面加入BOM(Byte order)。—— \uFEFF
如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
转载自 使用js生成csv文件并解决excel打开出现中文乱码的问题
对于上方链接的这位博主,表示感谢。虽是个小问题,却解决了困扰我一时的BUG。
(注:由于是几乎是完全转载,就不加自己的标识了。如需删除此文,请私信我。)