Vous pouvez le faire en JavaScript natif. Vous aurez à analyser vos données en format CSV que (en supposant que vous utilisez un tableau de tableaux pour vos données comme vous l'avez décrit dans la question):
var data = [["name1", "city1", "some other info"], ["name2", "city2", "more info"]];
var csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function(infoArray, index){
dataString = infoArray.join(",");
csvContent += index < infoArray.length ? dataString+ "\n" : dataString;
});
Ensuite, vous pouvez utiliser du JavaScript window.open
et encodeURI
fonctions de télécharger le fichier CSV comme suit:
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
Edit:
Si vous voulez donner à votre fichier un nom spécifique, vous devez faire les choses un peu différemment puisque ce n'est pas pris en charge accès à des données URI à l'aide de l' window.open
méthode. Afin de parvenir à cela, vous pouvez créer un caché <a>
des nœuds du DOM et de l'ensemble de ses download
attribut comme suit:
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
link.click(); // This will download the data file named "my_data.csv".
Note: à compter de cette modification, le soutien pour l' download
attribut est limité à google Chrome seulement. Je crois que FF est dans le processus de mise en œuvre, et c'est à dire toujours à la traîne derrière eux deux.