Firebase Excel Export
A Flutter package to export Firestore collections to Excel with a simple and customizable approach. Perfect for Flutter web applications!
Features
- Export Firestore data directly to
.xlsx
files. - Fully customizable headers and data mapping.
- Easy integration with Firestore.
- Designed for Flutter web applications with seamless file download functionality.
Installation
Add the package to your pubspec.yaml
file:
dependencies:
firebase_excel_export: ^0.0.1
Run the following command to fetch the package:
flutter pub get
Usage
Basic Example
import 'package:firebase_excel_export/firebase_excel_export.dart';
Future<void> exportUsers() async {
await FirebaseExcelExporter.exportToExcel(
collectionName: 'users',
headers: ['Email', 'Name', 'Phone Number'], // Customize your headers
mapper: (data) => [
data['email'], // Map Firestore fields to the headers
data['name'],
data['phoneNumber'],
],
fileName: 'users_export.xlsx', // Optional: Customize file name
);
}
Parameters
collectionName
(required): The Firestore collection to export.headers
(required): A list of custom headers for the Excel file.mapper
(required): A function to map Firestore document fields to header columns.fileName
(optional): The desired file name for the Excel file (default:export.xlsx
).
Advanced Example with Query Filtering
Future<void> exportFilteredUsers() async {
await FirebaseExcelExporter.exportToExcel(
collectionName: 'users',
headers: ['Email', 'Name', 'Status'], // Define custom headers
mapper: (data) => [
data['email'], // Map data fields dynamically
data['name'],
data['status'],
],
queryBuilder: (query) => query.where('status', isEqualTo: 'active'), // Apply Firestore query
fileName: 'active_users_export.xlsx', // Define a custom file name
);
}
Key Features
- Dynamic Headers: Define custom headers tailored to your Firestore data.
- Data Mapping: Map fields dynamically to headers for total flexibility.
- Web-Optimized: Built for Flutter web to enable seamless downloads.
Compatibility
This package is designed for Flutter web and depends on:
cloud_firestore
firebase_core
excel
universal_html
Ensure these dependencies are added to your pubspec.yaml
.
Support
If you encounter any issues or have feature requests, feel free to open an issue on the GitHub repository.
License
This package is licensed under the MIT License. See the LICENSE file for more details.