2017-02-03 1 views
0

JS를 사용하여 usermade HTML 테이블에서 CSV 파일을 만듭니다. 이제는 작성자 또는 테이블의 일부 정보 (예 : 테이블이 관련된 연도)와 같이 파일에 한 번만 추가해야하는 정보가 있습니다.JS의 CSV-Textfile에 메타 데이터 추가

모든 행에 중복 된 정보를 저장하고 싶지 않으므로 머리말이나 파일의 메타 데이터에 몇 가지 사항을 저장하는 아이디어가 떠 올랐습니다.

그럴 수 있습니까? 그리고 어떻게? 나중에 자바에서 다시 읽을 수 있어야합니다.

가 지금 내가 꽤 일반적인이 (평민 - 파일 업로드를 사용하지만 난 그 큰 문제가 될 것이라고 생각하지 않는다) :

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

CSV 파일 저장을 엄격하게 테이블 형식의 데이터를. 메타 데이터 개념이 없으므로 요구 사항에 적합한 파일 형식이 아닐 수도 있습니다. 별도의 CSV 파일에 메타 데이터를 저장하거나 메타 데이터와 CSV를 저장하는 일종의 "컨테이너 형식"을 정의 할 수 있지만 대신 XML 또는 JSON을 사용하는 것이 좋습니다.

+0

분명히 그 것들이 저장됩니다 :'data : text/csv; charset = utf-8,'- 확장 할 수있는 방법이 없습니까? – Qohelet

+1

No. https://en.wikipedia.org/wiki/Data_URI_scheme –