在Internet Explorer中离线创建csv文件(客户端) [英] Creating csv file offline (client-side) in Internet Explorer

查看:163
本文介绍了在Internet Explorer中离线创建csv文件(客户端)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法使用纯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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆