二维数组导出为 CSV,数据未显示在 CSV 中,Javascript
Two Dimensional Array Export Into CSV, Data Not Showing in CSV, Javascript
csv 文件下载正确,但其中没有任何内容。我希望每个新条目在导出之前都位于不同的行中。不确定为什么数据没有在 CSV 中注册,我在这方面没有发现任何错误。感谢您的任何帮助。这是 chrome 扩展。
var items = []
var rows = []
function myFunction() {
items.push(document.getElementById('itemid').value);
items.push(document.getElementById('itemid1').value);
items.push(document.getElementById('itemid2').value);
items.push(document.getElementById('itemid3').value);
console.log(items);
const arrayToMatrix = (array, columns) => Array(Math.ceil(array.length / columns)).fill('').reduce((acc, cur, index) => {
return [...acc, [...array].splice(index * columns, columns)]
}, []);
const result = arrayToMatrix(items, 4);
var rows = result;
console.log(rows);}
document.getElementById('my-Function').onclick = myFunction;
function exportData() {
let csvContent = "data:text/csv;charset=utf-8,";
rows.forEach(function(rowArray) {
let row = rowArray.join(",");
csvContent += dataString + "\n";
});
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();}
document.getElementById('export-Data').onclick = exportData;
Array after user input:
Array(4)
0: (4) ["ROW1", "ROW1", "ROW1", "ROW1"]
1: (4) ["ROW2", "ROW2", "ROW2", "ROW2"]
2: (4) ["ROW3", "ROW3", "ROW3", "ROW3"]
3: (4) ["ROW4", "ROW4", "ROW4", "ROW4"]
我已经尝试了下面相关 post 中的所有不同答案,但 none 似乎在 csv 中注册了我的数据:
JavaScript array to CSV
function exportData() {
rows.forEach(function (infoArray, index) {
var row = infoArray.join(",");
rows.push(index == 0 ? "data:text/csv;charset=utf-8," + line : line);
});
var csvContent = rows.join("\n");
var encodedUri = encodeURI(csvContent); ....
出于某种原因,这个将我的 html (popup.html) 导出到 csv
和
How to export JavaScript array info to csv (on client side)?
function exportData() {
var csvContent = '';
rows.forEach(function(infoArray, index) {
dataString = infoArray.join(';');
csvContent += index < rows.length ? dataString + '\n' : dataString;
});
var encodedUri = encodeURI(csvContent);
});
这个也出于某种原因将我的 html (popup.html) 导出到 csv
对于上述问题,我也尝试了所有其他可能的答案。感谢您的帮助!谢谢!!
这最终对我有用。
'use strict';
var items = []
var rows = []
var cols = []
function myFunction() {
items.push(document.getElementById('itemid').value);
items.push(document.getElementById('itemid1').value);
items.push(document.getElementById('itemid2').value);
items.push(document.getElementById('itemid3').value);
console.log(items);
const arrayToMatrix = (array, columns) => Array(Math.ceil(array.length / columns)).fill('').reduce((acc, cur, index) => {
return [...acc, [...array].splice(index * columns, columns)]
}, []);
const result = arrayToMatrix(items, 7);
rows = result;
console.log(rows);}
document.getElementById('my-Function').onclick = myFunction;
function exportData() {
cols.push(rows);
console.log(cols);
let csvContent = "data:text/csv;charset=utf-8,"
+ rows.map(e => e.join(",")).join("\n");
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();}
document.getElementById('export-Data').onclick = exportData;
csv 文件下载正确,但其中没有任何内容。我希望每个新条目在导出之前都位于不同的行中。不确定为什么数据没有在 CSV 中注册,我在这方面没有发现任何错误。感谢您的任何帮助。这是 chrome 扩展。
var items = []
var rows = []
function myFunction() {
items.push(document.getElementById('itemid').value);
items.push(document.getElementById('itemid1').value);
items.push(document.getElementById('itemid2').value);
items.push(document.getElementById('itemid3').value);
console.log(items);
const arrayToMatrix = (array, columns) => Array(Math.ceil(array.length / columns)).fill('').reduce((acc, cur, index) => {
return [...acc, [...array].splice(index * columns, columns)]
}, []);
const result = arrayToMatrix(items, 4);
var rows = result;
console.log(rows);}
document.getElementById('my-Function').onclick = myFunction;
function exportData() {
let csvContent = "data:text/csv;charset=utf-8,";
rows.forEach(function(rowArray) {
let row = rowArray.join(",");
csvContent += dataString + "\n";
});
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();}
document.getElementById('export-Data').onclick = exportData;
Array after user input:
Array(4)
0: (4) ["ROW1", "ROW1", "ROW1", "ROW1"]
1: (4) ["ROW2", "ROW2", "ROW2", "ROW2"]
2: (4) ["ROW3", "ROW3", "ROW3", "ROW3"]
3: (4) ["ROW4", "ROW4", "ROW4", "ROW4"]
我已经尝试了下面相关 post 中的所有不同答案,但 none 似乎在 csv 中注册了我的数据:
JavaScript array to CSV
function exportData() {
rows.forEach(function (infoArray, index) {
var row = infoArray.join(",");
rows.push(index == 0 ? "data:text/csv;charset=utf-8," + line : line);
});
var csvContent = rows.join("\n");
var encodedUri = encodeURI(csvContent); ....
出于某种原因,这个将我的 html (popup.html) 导出到 csv
和
How to export JavaScript array info to csv (on client side)?
function exportData() {
var csvContent = '';
rows.forEach(function(infoArray, index) {
dataString = infoArray.join(';');
csvContent += index < rows.length ? dataString + '\n' : dataString;
});
var encodedUri = encodeURI(csvContent);
});
这个也出于某种原因将我的 html (popup.html) 导出到 csv
对于上述问题,我也尝试了所有其他可能的答案。感谢您的帮助!谢谢!!
这最终对我有用。
'use strict';
var items = []
var rows = []
var cols = []
function myFunction() {
items.push(document.getElementById('itemid').value);
items.push(document.getElementById('itemid1').value);
items.push(document.getElementById('itemid2').value);
items.push(document.getElementById('itemid3').value);
console.log(items);
const arrayToMatrix = (array, columns) => Array(Math.ceil(array.length / columns)).fill('').reduce((acc, cur, index) => {
return [...acc, [...array].splice(index * columns, columns)]
}, []);
const result = arrayToMatrix(items, 7);
rows = result;
console.log(rows);}
document.getElementById('my-Function').onclick = myFunction;
function exportData() {
cols.push(rows);
console.log(cols);
let csvContent = "data:text/csv;charset=utf-8,"
+ rows.map(e => e.join(",")).join("\n");
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();}
document.getElementById('export-Data').onclick = exportData;