在Internet Explorer中离线创建csv文件(客户端) [英] Creating csv file offline (client-side) in Internet Explorer
问题描述
有没有办法使用纯JavaScript(离线,本地)创建CSV文件并将该文件下载到本地文件系统?该方法应该在IE9或更低版本中工作。
Is there a way to create a CSV file using pure JavaScript (offline, locally) and downloading that file to the local file system? The approach should work in IE9 or lower.
我尝试过downloadify,但跨域问题阻止了我在本地使用它。我还尝试创建一个Base64编码的字符串并发出一个text / csv数据URI,但IE看起来不支持数据URI的特定情况。
I have tried downloadify, but cross-domain issues prevented me from using it locally. I also tried creating a Base64 encoded string and issuing a text/csv data URI, but IE doesn't appear to support data URIs for that particular case.
推荐答案
如果你想使用正确的utf8在excel 2013中打开csv,你应该添加utf8 bom到dinesh ygv代码,如下所示:
If you want to open the csv in excel 2013 with correct utf8, you should add utf8 bom to dinesh ygv code like this:
<a id="export" class="myButton" download="" href="#">export</a>
<script>
function createDownloadLink(anchorSelector, str, fileName){
if(window.navigator.msSaveOrOpenBlob) {
var fileData = ['\ufeff'+str];
blobObject = new Blob(fileData);
$(anchorSelector).click(function(){
window.navigator.msSaveOrOpenBlob(blobObject, fileName);
});
} else {
var url = "data:text/plain;charset=utf-8,%EF%BB%BF" + encodeURIComponent(str);
$(anchorSelector).attr("download", fileName);
$(anchorSelector).attr("href", url);
}
}
$(function () {
var str = "hi,file";
createDownloadLink("#export",str,"file.txt");
});
</script>
这篇关于在Internet Explorer中离线创建csv文件(客户端)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!