首先获取,然后使用 angular 将谷歌工作表数据发布到 firebase 数据库

阿娃尼

我试图从表单中的谷歌表中获取数据JSON,然后使用 angular 将这些数据发布到 firebase 数据库。到目前为止,我能够以 JSON 的形式获取谷歌工作表数据:在此处输入图片说明我得到的响应是列和行的数组。我的问题是如何向 firebase 发出发布请求以发布这些响应?为了发出获取请求,我执行了以下方法。登陆页面.ts

import { HttpClient } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { AngularFirestore, AngularFirestoreCollection } from '@angular/fire/compat/firestore';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { AuthService } from '../shared/auth.service';
import { Field } from '../model/field';

@Component({
  selector: 'app-landing-page',
  templateUrl: './landing-page.page.html',
  styleUrls: ['./landing-page.page.scss'],
})

export class LandingPagePage implements OnInit {
  private collection: AngularFirestoreCollection;
  myCollection: Observable<Field[]>;
   constructor(private auth: AuthService, private router:Router, private http :HttpClient,private afs: AngularFirestore) { 
    this.collection = this.afs.collection("Exceldata");
    this.myCollection = this.collection.valueChanges(); 
   }

  ngOnInit() {
    this.excelData();
    
  }
logout()
{
  this.auth.signOut();
}
excelData(){

   var sf = "https://docs.google.com/spreadsheets/d/1qeCEUlVt_hnuyhnoT1wxMMSv7kZW1s4cUIRLynJ0TxQ/gviz/tq";
 this.http.get(sf,{responseType: 'text'}).subscribe(res=>{
   const data =res.toString().match(/google\.visualization\.Query\.setResponse\(([\s\S\w]+)\)/);
   if(data && data.length==2){
     const obj=JSON.parse(data[1]);
     const table=obj.table;
     const header =  table.cols.map(({label}) => label);
     const rows = table.rows.map(({c}) => c.map(({v}) => v));
     console.log(header);
     console.log(rows); 
     console.log(this.collection.doc().set(Object.assign({}, rows)));
    }
       
 });
}
}

字段.ts

export interface Field{
    Id:string;
    Name:string;
    Major:string;
}
本·马泰拉
  1. 安装 AngularFirestore
  2. 声明:

私人收藏:AngularFirestoreCollection;

myCollection: Observable<Model[]>;

3.

constructor(private afs: AngularFirestore) { 
            this.collection = this.afs.collection<Model>("collectionName");
            this.myCollection = this.collection.valueChanges();
          }
  1. 在您的功能中:

    this.collection.doc().set(Object.assign({}, newItemToSave));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我没有从Firebase实时数据库中获取数据到angular 6

使用Firebase的数据库移动数据

从 Firebase 实时数据库获取时,数据未在 Angular 中更新

从Firebase实时数据库读取数据并使用Angular显示为列表

使用laravel将Firebase实时数据库连接到MYSQL数据库表

从 Firebase 数据库中获取价值

如何从Firebase数据库获取密钥?

从Firebase数据库对象获取价值

如何从数据库Firebase获取值

Android firebase 获取 ch 数据库

使用Express从Firebase数据库获取数据

使用 getkey 从 firebase 数据库获取数据

使用Firebase的数据库样式查询

使用Swift从Firebase数据库读取

使用Firebase数据库填充RecyclerView

Firebase数据库未从Firebase数据库参考中获取数据

从 Firebase 数据库中使用 angular 检索针对特定值的详细信息

遍历 angular 4 firebase 数据库中的对象数组

Angular 6和Firebase(数据库)规则配置

Angular 和 Firebase - 自动数据库恢复

Firebase 数据库(使用 Firebase REST API 发送分析数据)到 Firebase Dashboard 分析数据

firebase-使用键获取子数据库参考

Firebase数据库WEB以JSON格式获取数据

如何从Firebase数据库获取此嵌套数据

Firebase 实时数据库,从键值对中获取数据

如何从Firebase数据库中的用户获取数据?

无法从Firebase数据库Swift 4中获取数据

我无法从 Firebase 数据库中获取数据

如何从Firebase Realtime数据库中获取数据?