在excel标签中显示未定义

时间:2017-10-12 14:20:15

标签: javascript typescript firebase-realtime-database

问题

它显示在导出的Excel文件^M上。但它没有空数组索引。

代码

undefine

在excel中看起来像:

  

name surename .....第一个产品名称,第一个产品日期,undefined2nd产品名称,第二个产品日期。

我不知道从哪里得到未定义。

数组中的数据可以显示为undefine。

Screen from excel:

我在问题上画了一条红线。它仍然在3,4,5项等......

什么问题?

1 个答案:

答案 0 :(得分: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);