是否可以使用JavaScript/AAJAX在客户端创建一个文件

Is it possible to create a file on the client side using JavaScript/AJAX?

本文关键字:文件 一个 创建 客户端 可以使 JavaScript AAJAX 是否      更新时间:2023-09-26

是否可以使用Javascript/AAJAX和服务器端响应(例如字符串)在客户端生成一个文件,然后打开这个文件下载窗口?例如,一个简单的.txt

如果可能的话,有没有生成.xlsx文件的解决方案?

这将创建一个CSV,您可以基于对象数组(window.EXPORTDATA)在excel中打开该CSV:

        var csvContent = [];
        for(var i=0; i<window.EXPORTDATA.length; i++){
          var rowContent = [];
          var row = window.EXPORTDATA[i];
          if(csvContent.length === 0){
            for(var p in row)
              if(row.hasOwnProperty(p))
                rowContent.push('"'+ (""+p).replace('"','').replace(',','') +'"');
            csvContent.push("data:text/csv;charset=utf-8,"+rowContent.join(","));
            rowContent = [];
          }
          for(var p in row){
            if(row.hasOwnProperty(p))
              rowContent.push('"'+ (""+row[p]).replace('"','').replace(',','') +'"');
          }
          csvContent.push(rowContent.join(","));
        }
        var dat = csvContent.join("'n");
        var encodedUri = encodeURI(dat);
        window.open(encodedUri);

这是一把小提琴。。当你运行它时,它会要求你在Excel或任何你使用的文件中打开。。