Export Firebase Data to CSV in Dart
English
This Dart library enables you to export data from a Firebase collection to a CSV file and launch it for download. It's useful for retrieving and sharing data in an easily readable tabular format.
Features
- Converts data from a Firebase collection to CSV format.
- Allows customization of CSV columns and titles.
- Provides options for filtering data by date, name, age, and other fields.
- Option to include the document ID in the CSV file.
Usage
Follow these steps to use this library in your project:
-
Import the library in your Dart file:
import 'package:export_firebase_csv/export_firebase_csv.dart';
-
Use the
exportWithTitles
function to export the data. Here's an example of how you can do it:await exportWithTitles( 'collection_name', ['Title1', 'Title2', 'Title3'], ['field1', 'field2', 'field3'], startDate, endDate, 'dateFieldName', //exact name of the Date field you are comparing to defaultNullString, );
Make sure to customize the parameters according to your needs.
-
Use the
jsonToCsv
function to convert JSON to CSV. Here's an example of how you can do it:await jsonToCsv( jsonString, 'output_file_name', );
This function does not require the same parameters as
exportWithTitles
.
Function Parameters
exportWithTitles Function
Parameters:
- collectionName (String): The name of the Firebase collection from which you want to export data.
- rowTitles (List String ): A list of titles to be used as column headers in the CSV file.
- fieldNames (List String ): A list of field names that correspond to the data you want to export.
- start (DateTime?): The start date for filtering data. (Optional)
- end (DateTime?): The end date for filtering data. (Optional)
- dateFieldName (String): The name of the field that contains date information.
- defaultNullString (String?): The default value you want in case of a null value. (Default value "")
jsonToCsv Function
Parameters:
- jsonData (dynamic): JSON data to convert to CSV.
- fileName (String): The name of the output CSV file.
Caution: Be Mindful of Date Filters
Please be cautious when using date filters in the exportWithTitles
function. If you don't specify start and end dates, the library will export the entire collection. Exporting a large collection can result in additional Firebase usage costs.
Contribution
If you'd like to contribute to this project, we're open to collaborations! Feel free to submit suggestions, improvements, or fixes through pull requests.
License
This project is licensed under the MIT License. Please refer to the LICENSE file for more details.
Contact
Author: Zeymer Montes
Email: zeymer@nuclea.solutions
GitHub Repository: GitHub
Español
Esta biblioteca Dart te permite exportar datos desde una colección de Firebase a un archivo CSV y lanzarlo para su descarga. Es útil para obtener y compartir datos en un formato tabular fácilmente legible.
Características
- Convierte datos de una colección de Firebase en formato CSV.
- Permite personalizar las columnas y títulos del archivo CSV.
- Ofrece opciones para filtrar datos por fecha, nombre, edad y otros campos.
- Opción para incluir el ID del documento en el archivo CSV.
Uso
Sigue estos pasos para utilizar esta biblioteca en tu proyecto:
-
Importa la biblioteca en tu archivo Dart:
import 'package:export_firebase_csv/export_firebase_csv.dart';
-
Utiliza la función
exportWithTitles
para exportar los datos. Aquí hay un ejemplo de cómo puedes hacerlo:await exportWithTitles( 'nombre_de_la_colección', ['Título1', 'Título2', 'Título3'], ['campo1', 'campo2', 'campo3'], fechaInicio, fechaFin, 'nombreCampoFecha', // Nombre exacto del campo en la colección con el cual compararás las fechas. defaultNullString, );
Asegúrate de personalizar los parámetros de acuerdo a tus necesidades.
-
Utiliza la función
jsonToCsv
para convertir JSON a CSV. Aquí hay un ejemplo de cómo puedes hacerlo:await jsonToCsv( jsonString, 'nombre_archivo_salida', );
Esta función no requiere los mismos parámetros que
exportWithTitles
.
Parámetros de la Función
Función exportWithTitles
Parámetros:
- collectionName (String): El nombre de la colección de Firebase de la que deseas exportar datos.
- rowTitles (List String ): Una lista de títulos que se utilizarán como encabezados de columna en el archivo CSV.
- fieldNames (List String ): Una lista de nombres de campos que corresponden a los datos que deseas exportar.
- start (DateTime?): La fecha de inicio para filtrar los datos. (Opcional)
- end (DateTime?): La fecha de fin para filtrar los datos. (Opcional)
- dateFieldName (String): El nombre del campo que contiene información de fecha.
- defaultNullString (String?): El valor por defecto en caso de recibir un valor null. (valor por defecto "")
Función jsonToCsv
Parámetros:
- jsonData (dynamic): Datos JSON a convertir a CSV.
- fileName (String): El nombre del archivo CSV de salida.
Precaución: Ten en Cuenta los Filtros de Fecha
Por favor, ten precaución al utilizar los filtros de fecha en la función exportWithTitles
. Si no especificas las fechas de start y end, la biblioteca exportará toda la colección. Exportar una colección grande puede resultar en costos adicionales de uso en Firebase.
Contribución
Si deseas contribuir a este proyecto, ¡estamos abiertos a colaboraciones! Siéntete libre de enviar sugerencias, mejoras o correcciones a través de solicitudes de extracción (pull requests).
Licencia
Este proyecto está bajo la licencia Licencia MIT. Consulta el archivo LICENSE para obtener más detalles.
Contacto
- Autor:
Zeymer Montes
- Correo Electrónico:
zeymer@nuclea.solutions
- Repositorio en GitHub: GitHub