2017-10-12 31 views
0

問題表示未定義在Excel標籤

它顯示在導出excel文件undefine。但是它沒有空的數組索引。

代碼

const joinDate = new Date(obj.date); 
let snap = [ 
    obj.name, 
    obj.surename, 
    obj.email, 
    obj.nip, 
    obj.phone, 
    obj.adress + " " + obj.home + " " + (obj.local=="brak" ? "" : obj.local), 
    obj.city, 
    obj.zip, 
    obj.spentPoint, 
    '', 
    '' 
]; 
orders.push(new Promise((resolve) => { 
    let userNip = i; 
    let ordersRef = firebase.database().ref('/orders/' + userNip); 

    ordersRef.once("value", (snapshot) => { 
     let ord = snapshot.val(); 
     let i = 0; 

     for(let u in ord) { 
      let o = ord[u]; 
      let newDate = new Date(o.date); 
      let formatttedDate = String(newDate.getDate()) + "/" + String(newDate.getMonth()+1) + "/" + String(newDate.getFullYear()); 
      snap[10+i] = formatttedDate; 
      for(let x in o.items) { 
       snap[9+i] += String(o.items[x].title) + "[ Punktów: " + o.items[x].summary + " ]"; 
      } 
      i = i + 2; 
     } 
     resolve(); 
    }) 
})); 
data.push(snap); 

在Excel中的樣子:

名surename ..... 1產品名稱,產品1日期,undefined2nd產品名稱,產品第二次約會。

我不知道從哪裏得到未定義。

數組中沒有少量數據可以顯示undefine。

Screen from excel:

我畫上的問題紅線。而且它仍然在3,4,5項目等...

什麼是問題?

回答

1

snap[9+i]給你undefined。什麼是9? 10?

如果你在snap靶向特定的項目,然後總是在像snap[1]snap[9]snap[10]一個靜態指標來訪問它。

這是因爲你正在添加9 + 1並且在沒有11個項目的數組中尋找第11 +項。

編輯:

如果你有保持格式,這是不顯示的數據,但可能需要一些外部的過程中,儘量像一個偉大的方式:

const joinDate = new Date(obj.date); 
let snap = [ 
    obj.name, 
    obj.surename, 
    obj.email, 
    obj.nip, 
    obj.phone, 
    obj.adress + " " + obj.home + " " + (obj.local=="brak" ? "" : obj.local), 
    obj.city, 
    obj.zip, 
    obj.spentPoint, 
]; 

    orders.push(new Promise((resolve) => { 
    let userNip = i; 
    let ordersRef = firebase.database().ref('/orders/' + userNip); 

    ordersRef.once("value", snapshot=>{ 
    let ord = snapshot.val(); 

    for(let u in ord){ 
     let o = ord[u]; 
     let newDate = new Date(o.date); 
     let formatttedDate = String(newDate.getDate()) + "/" + String(newDate.getMonth()+1) + "/" + String(newDate.getFullYear()); 

     snap.push(formatttedDate); 
     for(let x in o.items){ 
     snap.push(String(o.items[x].title) + "[ Punktów: " + o.items[x].summary + " ]"); 
     } 

    } 
    resolve(); 
    }) 
})) 
data.push(snap); 
+0

中的索引快點我在excel中製作columuns。該項目將在9日,11日,13日,15日等。如果這是不好的我怎麼能以其他方式使它? – Tomasz

+0

數據應該是什麼樣子?每位客戶有1條客戶信息欄,然後是1欄日期,1欄是所有項目的摘要? – Tor

+0

是的,每個客戶有一行,只有幾列數據(電話,郵政編碼等),在此之後所有項目的數據與每列分開 – Tomasz