Περισσότερα
Πώς να εξάγετε πληροφορίες συστοιχίας JavaScript σε csv (στην πλευρά του πελάτη);
Ξέρω ότι υπάρχουν πολλές ερωτήσεις αυτής της φύσης, αλλά πρέπει να το κάνω αυτό χρησιμοποιώντας JavaScript. Χρησιμοποιώ το Dojo 1.8
και έχω όλες τις πληροφορίες χαρακτηριστικών σε πίνακα, ο οποίος μοιάζει με αυτό:
[["name1", "city_name1", ...]["name2", "city_name2", ...]]
Καμία ιδέα για το πώς μπορώ να το εξάγω αυτό σε CSV
στην πλευρά του πελάτη;
457
3
Μπορείτε να το κάνετε αυτό σε εγγενή JavaScript. Θα πρέπει να αναλύσετε τα δεδομένα σας σε σωστή μορφή CSV (υποθέτοντας ότι χρησιμοποιείτε έναν πίνακα από πίνακες για τα δεδομένα σας, όπως περιγράψατε στην ερώτηση):
ή με τον συντομότερο τρόπο (χρησιμοποιώντας συναρτήσεις βέλους):
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις
window.open
καιencodeURI
της JavaScript'για να κατεβάσετε το αρχείο CSV ως εξής:Επεξεργασία:
Εάν θέλετε να δώσετε στο αρχείο σας ένα συγκεκριμένο όνομα, πρέπει να κάνετε τα πράγματα λίγο διαφορετικά, καθώς αυτό δεν υποστηρίζεται με την πρόσβαση σε ένα URI δεδομένων χρησιμοποιώντας τη μέθοδο `window.open`. Για να το πετύχετε αυτό, μπορείτε να δημιουργήσετε έναν κρυφό κόμβο DOM `` και να ορίσετε το χαρακτηριστικό του `download` ως εξής:Ήρθα εδώ ψάχνοντας για λίγο περισσότερη συμμόρφωση με το RFC 4180 και απέτυχα να βρω μια υλοποίηση, οπότε έφτιαξα μια (πιθανώς αναποτελεσματική) για τις δικές μου ανάγκες. Σκέφτηκα να τη μοιραστώ με όλους.
Ελπίζω αυτό να βοηθήσει κάποιον στο μέλλον. Αυτό συνδυάζει και την κωδικοποίηση του CSV μαζί με τη δυνατότητα λήψης του αρχείου. Στο παράδειγμά μου στο [jsfiddle](http://jsfiddle.net/a5E9m/2/). Μπορείτε να κατεβάσετε το αρχείο (υποθέτοντας πρόγραμμα περιήγησης HTML 5) ή να δείτε την έξοδο στην κονσόλα.
ΕΝΗΜΕΡΩΣΗ:
Η λύση από τον @Default λειτουργεί τέλεια στον Chrome (ευχαριστώ πολύ γι' αυτό!), αλλά είχα ένα πρόβλημα με τον IE.
Εδώ είναι μια λύση (λειτουργεί στον IE10):