在 Excel 中从客户端应用程序导出 Firestore 数据

Com*_*end 5 excel firebase google-cloud-firestore

我正在开发一个在线医生预约移动应用程序。我想在应用程序中添加一个界面,医生可以在其中提取过去的预约数据。有没有什么功能可以让医生把过去的所有预约数据导出到excel中?

只是我想要这个:-->

选择日期范围。提取与该日期相关的所有文档。将这些文档的数据导出到 Excel 工作表的行中。必填字段作为该 Excel 工作表的列。

有什么服务/方式/技巧可以用来做同样的事情

小智 6

  1. npm i --保存 exceljs
  2. npm i --保存 firebase-admin
  3. 创建index.js文件

var admin = require("firebase-admin");
const Excel = require('exceljs')

var serviceAccount = require("service-account.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://mind-next.firebaseio.com"
});
const db = admin.firestore();
let workbook = new Excel.Workbook()
let worksheet = workbook.addWorksheet('your export sheet name')
worksheet.columns = [
    
    {header: 'username', key: 'username'},

    {header: 'creationTime', key: 'creationTime'},
    {header: 'email', key: 'email'},
    {header: 'lastSignInTime', key: 'lastSignInTime'},
    {header: 'photoURL', key: 'photoURL'},
    {header: 'providerId', key: 'providerId'}

  ]
  worksheet.getRow(1).font = {bold: true}

async function getData() {
    const snapshot = await db.collection('your export firestore collection').get();
    snapshot.forEach((doc,index) => {
            const rowIndex = index + 2
            let e = doc.data()
            worksheet.addRow({
              ...e,
            })

    });
    workbook.xlsx.writeFile('yourexportfilename.xlsx')

}

getData()
Run Code Online (Sandbox Code Playgroud)

  1. 然后运行节点index.js


小智 2

如果您有服务器,那么您可以简单地获取数据并使用任何模块将该数据写入 Excel 文件。如果您的应用程序是无服务器的,那么创建一个云函数来为您做同样的事情。总有一些模块可以为您做同样的事情。

以下两个示例均适用于 NodeJ。

对于nodeJs=>> Xlsx节点模块

或者您可以简单地使用“fs”将 JSON 写入 Excel。例子