我正在使用JS从用户制作的HTML表创建CSV文件。现在它发生的信息只需要一次添加到文件中,如创建者或表格的某些信息(例如表格所涉及的年份)。
我真的不想在每一行中保存冗余信息,所以我提出了在标题或文件元数据中保存一些内容的想法。
这可能吗?如何? 以后应该可以再次在Java中读取它。 (使用commons-fileupload,但我不认为这将是一个巨大的问题)
现在我有一个非常通用的:
function csvDownload() {
var cna = document.getElementById('usertbl').childNodes;
var data = new Array();
for(var i = 0;i<cna.length;i++){
data.push(new Array(cna[i].childNodes[0].innerText, //ArtNr
//And so on... Much other stuff as well
));
}
var csvContent = "data:text/csv;charset=utf-8,";
/*
data.forEach(function(infoArray, index){
dataString = infoArray.join(",");
csvContent += index < data.length ? dataString+ "\n" : dataString;
});
*/
var encodedUri = encodeURI(csvContent+$.csv.fromArrays(data));
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", my_data.csv");
document.body.appendChild(link); // Required for FF
link.click(); // This will download the data file named "my_data.csv".
}
答案 0 :(得分:0)
CSV文件存储严格的表格数据。它没有元数据的概念,因此它可能不适合您的要求的文件格式。您可以将元数据存储在单独的CSV文件中,也可以定义某种容器格式&#34;它存储元数据和CSV,但我建议您使用XML或JSON。