Skip to content

Instantly share code, notes, and snippets.

@C-Rodg
Last active January 11, 2017 19:26
Show Gist options
  • Save C-Rodg/55fad64d96c2af68f668cc2305999a49 to your computer and use it in GitHub Desktop.
Save C-Rodg/55fad64d96c2af68f668cc2305999a49 to your computer and use it in GitHub Desktop.
A simple Javascript function that takes a two-dimensional array and converts it to a downloaded CSV file.
const fieldHeaders = ["First Name", "Last Name", "City", "State", "Country", "Phone Number"];
let data = [["Tom", "Stevens", "Seattle", "WA", "USA", "123-123-1234"], ["Mike", "Williams", "Detroit", "MI", "USA", "234-234-2345"], ["Janie", "Jackson", "Vancouver", "BC", "Canada", "987-977-9876"]];
data.unshift(fieldHeaders);
function createCSV(data) {
let csvContent = "data:text/csv;charset=utf-8,";
data.forEach((dataArray, index) => {
let dataStr = dataArray.join(',');
csvContent += index < data.length ? dataStr + '\n' : dataStr;
});
let encodedData = encodeURI(csvContent);
let link = document.createElement('a');
link.setAttribute('href', encodedData);
link.setAttribute('download', 'my_csv.csv');
document.body.appendChild(link);
link.click();
}
createCSV(data);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment