Quiero descargar toda la información almacenada en mi base de datos (Firebase) en una hoja de Excel a través de mi API.
En este momento tengo +2000 filas de información y funciona bien. Entiendo que ahora las limitaciones de Excel están más allá de las 65000 filas, pero por si acaso para evitar cualquier inconveniente más adelante. ¿Cómo puedo dividir toda mi información en una segunda hoja de cálculo si tengo más de 65000 fragmentos de información?
Esta es la biblioteca que estoy usando https://www.npmjs.com/package/xlsx
Y aquí está mi código:
downloadPlans() { var wb = XLSX.utils.book_new(); wb.SheetNames.push("Plans"); var ws_data = [ [ "name", "productType", "onCreated", "tags", "catalog", "state", "brand", "code", "sqf", "width", "depth", "category", "stories", "bedrooms", "fullBaths", "halfBaths", "garage", "garageLocation", "garageType", "garageBays", "bedroomLocation", "laundryLocation", "description", "region", ], ...this.planCategory.map((plan) => [ plan.name, plan.productType, plan.onCreated, plan.tags.join(","), plan.catalog, plan.state, plan.brand, plan.code, plan.sqf, plan.width, plan.depth, plan.category, plan.stories, plan.bedrooms, plan.fullBaths, plan.halfBaths, plan.garage, plan.garageLocation, plan.garageType, plan.garageBays, plan.bedroomLocation, plan.laundryLocation, plan.description, plan.region, ]), ]; var ws = XLSX.utils.aoa_to_sheet(ws_data); wb.Sheets["Plans"] = ws; var wbout = XLSX.write(wb, { bookType: "xlsx", type: "binary", }); function s2ab(s: string) { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xff; return buf; } FileSaver.saveAs( new Blob([s2ab(wbout)], { type: "application/octet-stream" }), "Plans.xlsx" ); },