亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Js數組轉CSV添加列標題

Js數組轉CSV添加列標題

達令說 2022-12-02 16:56:56
這是CSV從數組生成一個代碼,硬編碼值給出正確的列標題和行中的數據。我正在使用循環添加數據,但無法理解如何添加列標題。這是導出 csv 的硬編碼數組var Results = [  ["Col1", "Col2", "Col3", "Col4"],  ["Data", 50, 100, 500],  ["Data", -100, 20, 100],];exportToCsv = function() {  var CsvString = "";  Results.forEach(function(RowItem, RowIndex) {    RowItem.forEach(function(ColItem, ColIndex) {      CsvString += ColItem + ',';    });    CsvString += "\r\n";  });  CsvString = "data:application/csv," + encodeURIComponent(CsvString); var x = document.createElement("A"); x.setAttribute("href", CsvString ); x.setAttribute("download","somedata.csv"); document.body.appendChild(x); x.click();}<button onclick="exportToCsv()">export to CSV</button>Excel 看起來像這樣當我使用這樣的循環插入行值時,如何管理col1 、 col2 、 col3 -  for(let i=0;i<this.goalList.length;i++)  {    console.log(i,this.goalList)  var Result = [    [this.goalList[i]['name'],this.goalList[i]['desc'], this.goalList[i]['phno']]  ];    Results.push(Result);}  
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

如果您有標題 Col1、Col2、Col3;


function downloadCsv(){

var rows= [{'col1':10,'col2':10,'col3':10},{'col1':10,'col2':10,'col3':10}, 

    {'col1':10,'col2':10,'col3':10},{'col1':10,'col2':10,'col3':10}]

    var headers = "col1,col2,col3\n";

    rows.forEach((row)=>{

      var values = []

      Object.keys(row).forEach((key)=>{        

        if(Array.isArray(row[key])){

          var type = [];

          row[key].forEach(element => {

            type.push(element.name)

          });

          console.log(type)

          values.push("\"" + type.join() + "\"")

        }else{

          typeof(row[key]) == "string" ? values.push("\"" + row[key] + "\"") : (row[key] == null ? values.push("") : values.push(row[key].toString()))

        }

      });

      headers = headers + values.join(",") + "\n"

      

    })

      download('CSV', 'Payroll.csv', 'text/csv', headers)

    }  

如您所見,我們必須知道我們的 JSON 的“鍵”是什么,為了動態創建它們,我們獲取對象的鍵并循環它們,并創建我們想要的 csv 格式。


工作 JsFiddle https://jsfiddle.net/36o8cryu/


查看完整回答
反對 回復 2022-12-02
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

您可以初始化Results數組以包含標題。



查看完整回答
反對 回復 2022-12-02
  • 2 回答
  • 0 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號