JS csv div save to file

Üdv!

Adott egy html amiben csv formában vannak adatok. A JS el ismenti a id="csv"-ből a CSV adatot, de sajnos egy sorba (nincs enter a sorvégén):

< html >
< head >
< meta http-equiv="content-type" content="text/html; charset=UTF-8">
< title >CSV demo< /title >

< script type='text/javascript' > // < ![CDATA[
window.onload=function(){
var a = document.body.appendChild(
document.createElement("a")
);
a.download = "export.csv";
a.href = "data:application/csv;charset=utf-8," + document.getElementById("csv").innerHTML;
a.innerHTML = "[Export conent]";

} / / ] ] >

< /script >

< /head >
< body >
< div id="content" >
< h1 >Hello world< /h1 >
< i >Hi everybody< /i >
< /div >

< pre id="csv" style="display:none">Year,Annual mean,5 year mean
1880,-0.31,
1881,-0.22,
1882,-0.28,-0.29
1883,-0.3,-0.29
1884,-0.33,-0.3
1885,-0.32,-0.32
1886,-0.29,-0.32
1887,-0.35,-0.28
1888,-0.28,-0.3
1889,-0.18,-0.3
1890,-0.4,-0.3
1891,-0.29,-0.31
1892,-0.33,-0.34
1893,-0.34,-0.32
1894,-0.35,-0.3
1895,-0.27,-0.26
1896,-0.19,-0.26
1897,-0.16,-0.22
1898,-0.3,-0.19
1899,-0.19,-0.19
< /pre >

< /body >
< /html >

Hogy lehetne megadni, hogy a sorvégén ENTER is legyen a csv fájlban?

Hozzászólások

Abban ugy nem is igen lesz. Kodold el Base64-be az innerHTML-t, es a data URL-be ugy tedd be, hogy ele fuzod, hogy "base64,".

Azt megmondom elore, hogy meg ez se biztos, h mukodni fog, ugyanis az SGML alapu nyelvek alapbol erzeketlenek a sorvalto karakterre (ezert lehet egy XML akkor is ervenyes, ha egy darab, ketmegas sorbol all), HTML eseteben egyedul a <pre> es a <code> tagek renderelese a kivetel, de ez is inkabb bongeszo feature, nem pedig nyelvi feature.
--
Blog | @hron84
Üzemeltető macik