Kako izvoziti informacije o polju JavaScript v csv (na strani odjemalca)?
Vem, da je veliko vprašanj te vrste, vendar moram to storiti z uporabo JavaScript. Uporabljam Dojo 1.8
in imam vse podatke o atributih v polju, ki je videti takole:
[["name1", "city_name1", ...]["name2", "city_name2", ...]]
Ali veste, kako lahko to izvozim v CSV
na strani odjemalca?
457
3
To lahko storite v izvirnem jeziku JavaScript. Podatke boste morali razčleniti v pravilen format CSV (ob predpostavki, da za podatke uporabljate polje polj, kot ste opisali v vprašanju):
ali na krajši način (z uporabo arrow functions):
Nato lahko za prenos datoteke CSV uporabite funkciji
window.open
inencodeURI
v jeziku JavaScript:Uredi:
Če želite datoteki dati posebno ime, morate stvari narediti nekoliko drugače, saj to ni podprto pri dostopu do podatkovnega URI z uporabo metode `window.open`. Da bi to dosegli, lahko ustvarite skrito vozlišče `` DOM in mu nastavite atribut `download` na naslednji način:Prišel sem sem, ker sem iskal nekaj več skladnosti z RFC 4180, a nisem našel implementacije, zato sem naredil (morda neučinkovito) implementacijo za lastne potrebe. Mislil sem, da jo bom delil z vsemi.
Upam, da bo to komu pomagalo v prihodnosti. To združuje tako kodiranje CSV skupaj z možnostjo prenosa datoteke. V mojem primeru na [jsfiddle](http://jsfiddle.net/a5E9m/2/). Datoteko lahko prenesete (ob predpostavki brskalnika HTML 5) ali si ogledate izhod v konzoli.
UPDATE:
Zdi se, da je Chrome zdaj izgubil možnost poimenovanja datoteke. Nisem prepričan, kaj se je zgodilo ali kako to popraviti, vendar kadar koli uporabim to kodo (vključno z jsfiddle), se prenesena datoteka zdaj imenuje
download.csv
.Rešitev iz @Default deluje odlično v Chromu (hvala za to!), vendar sem imel težave z IE.
Tukaj je rešitev (deluje na IE10):