2016-09-23 1 views
0

In meiner Seite schreibe ich das folgende Skript, um CSV zum Download zu generieren. Meine Zeichenkette 'str' hat ein neues Zeilenkürzel "\ n" aber generierte csv ist alles in einer Zeile. vermisse ich etwas?keine Zeilenumbrüche in generierten CSV

  var fileContent = "data:text/csv;charset=utf-8," + str; 
      var a = document.createElement('a'); 
      a.href = fileContent; 
      a.download = filename; 
      var e = document.createEvent('MouseEvents'); 
      e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
      a.dispatchEvent(e); 
+0

können Sie die Probe Ihres str zeigen? – snit80

Antwort

3

Sie die Daten base64

in den meisten Browsern konvertieren müssen, ist es so einfach wie

var fileContent = "data:text/csv;charset=utf-8;base64," + btoa(str); 

Wenn Sie jedoch eine Unicode-Zeichenfolge haben, wird dies nicht gelingen. Betrachten Sie diese stattdessen - source = http://mdn.beonex.com/en/DOM/window.btoa.html#Unicode_Strings

function utf8_to_b64(str) { 
    return window.btoa(unescape(encodeURIComponent(str))); 
} 
var fileContent = "data:text/csv;charset=utf-8;base64," + utf8_to_b64(str); 
+0

eine Aufwertung wert. –

+0

Es hat funktioniert! Vielen Dank. – surya

Verwandte Themen