Convertir un tableau de données JavaScript en CSV
Concept et utilisation
La fonction arrayToSV() permet de convertir un tableau de données JavaScript (Array) en format CSV.
Il est possible de définir le jeu de données ainsi que les séparateurs de données.
Fonction
arrayToSv()Retourne des données en format CSV à partir d'un tableau de données JavaScript (
Array).- Syntaxe
arrayToSV(donnees, options);- Paramètres
donnees(Array)Le paramètre
donneesde la fonctionarrayToSV()définit le tableau de données JavaScript à convertir en format CSV.options(Object)Le paramètre
optionsde la fonctionarrayToSV()définit les séparateurs de données à utiliser pour convertir les données.- Propriétés
lineDelimiterLa propriété
lineDelimiterdu paramètreoptionsdéfinit les séparateurs de lignes.
Si cette propriété est omise, la valeur par défaut "\n" sera utilisée.columnDelimiter(String)La propriété
columnDelimiterdu paramètreoptionsdéfinit les séparateurs de colonnes.
Si cette propriété est omise, la valeur par défaut ";" sera utilisée.columnQuote(String)La propriété
columnQuotedu paramètreoptionsdéfinit les caractères de citation à ajouter avant et après une valeur contenant les caractères utilisés pour les séparateurs.
Si cette propriété est omise, la valeur par défaut "'" sera utilisée.
Exemple de conversion d'un tableau de données JavaScript en format CSV
var donnees = [
["Entête 1", "Entête 2"],
["Valeur 1", "Valeur 2"],
["Valeur 3", "Valeur 4"]
];
var options = {
lineDelimiter: '\n',
columnDelimiter: ';',
columnQuote: "'"
};
arrayToSV(donnees, options);
// renvoie : "Entête 1;Entête 2
// Valeur 1;Valeur 2
// Valeur 3;Valeur 4"Code source de la fonction
function arrayToSV(a, b) {
b = b || {};
var l = b.lineDelimiter || '\n',
c = b.columnDelimiter || ';',
q = b.columnQuote || '"',
d = [];
a.forEach(function (r) {
var t = [];
r.forEach(function (v) {
t.push(typeof v === 'string' && (v.indexOf(l) > -1 || v.indexOf(c) > -1) ? q + v + q : v);
});
t = t.join(c);
d.push(t);
});
d = d.join(l);
return d;
}Dernière mise à jour le .
