sheetifye 1.0.3 copy "sheetifye: ^1.0.3" to clipboard
sheetifye: ^1.0.3 copied to clipboard

The high-performance Flutter Excel viewer and spreadsheet engine. Native XLSX support, virtualized rendering for millions of cells, and customizable data grid UI.

Sheetifye #

The Native High-Performance Spreadsheet & Excel Engine for Flutter #

Pub Version License Flutter Issues


Sheetifye is a professional-grade Flutter Excel viewer, CSV reader, and spreadsheet renderer built for speed and flexibility. It provides a native, virtualized grid capable of rendering millions of cells with ease, making it the ultimate spreadsheet UI for Flutter developers.

Sheetifye โ€” High Performance Flutter Excel Viewer
Virtualized Spreadsheet Rendering on iOS
๐Ÿ“ฑ iOS
High Performance Excel Grid on Android
๐Ÿค– Android
Native XLSX Viewer on Flutter Web
๐ŸŒ Web / Desktop

๐Ÿ“– Documentation  ยท  ๐Ÿ’ก Gallery Example  ยท  ๐Ÿ“‹ Release Notes  ยท  ๐Ÿ› Report Issue


๐Ÿš€ Feature Highlights #

  • โšก High-Performance Virtualization: Smooth spreadsheet viewer experience with 60+ FPS, even with millions of rows and columns.
  • ๐Ÿ“ฆ Native XLSX & CSV Support: Built-in parsers for Excel and CSV files that work locally without external dependencies or heavy WebViews.
  • ๐ŸŽจ Full Theming: Matches your appโ€™s ThemeData automatically or via a dedicated SheetifyeThemeData.
  • ๐Ÿ–ฑ๏ธ Interactive Grid: Advanced selection system supporting single-cell, range selection, and keyboard navigation.
  • ๐Ÿ“ Merged Cells: Pixel-perfect rendering of complex layouts and merged regions.
  • โŒจ๏ธ Integrated Formula Bar: View raw cell data and computed formulas in a professional Excel-like UI.
  • ๐ŸŒ Cross-Platform: Optimized for touch on Mobile and mouse/keyboard on Desktop and Web.

Why Sheetifye? #

Most Flutter Excel packages rely on slow WebViews or lack professional features like virtualization and cell selection. Sheetifye is a custom-built spreadsheet engine that paints directly to the Flutter canvas.

  • No WebView / No PlatformView: 100% native Flutter rendering.
  • Offline First: Works entirely offline with a local XLSX parser.
  • Memory Efficient: Uses a specialized LRU cache for formula management and rendering.
  • Developer Friendly: Drop-in widget that handles all the complexity of Excel layouts.

Supported Platforms #

Platform Support Rendering
iOS โœ… Native Canvas
Android โœ… Native Canvas
Web โœ… CanvasKit / HTML
Windows โœ… Native Canvas
macOS โœ… Native Canvas
Linux โœ… Native Canvas

Installation #

Add sheetifye to your pubspec.yaml:

flutter pub add sheetifye

Or manually:

dependencies:
  sheetifye: ^1.0.2

Quick Start #

1. Initialize State #

Sheetifye uses Riverpod for high-performance state management. Wrap your app in a ProviderScope:

void main() {
  runApp(const ProviderScope(child: MyApp()));
}

2. Add the Spreadsheet Viewer #

import 'package:sheetifye/sheetifye.dart';

class MyExcelView extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Sheetifye.asset('assets/reports/sales_2024.xlsx'),
    );
  }
}

Usage Examples #

๐Ÿ“ Load from Assets #

Perfect for bundling static templates or reports with your application.

Sheetifye.asset('assets/template.xlsx')

๐ŸŒ Load from Network #

Fetch and render remote spreadsheets directly from your API or Cloud Storage.

Sheetifye.network('https://example.com/data.xlsx')

๐Ÿ’พ Load from File #

Ideal for apps that interact with the local device storage or downloads.

Sheetifye.file(File('/storage/emulated/0/Download/report.xlsx'))

๐Ÿง  Load from Memory #

Useful when receiving bytes from a file picker or an encrypted source.

Sheetifye.memory(excelBytes)

Technical Details #

๐Ÿ—๏ธ Architecture #

Sheetifye follows a Refined Monolithic Architecture optimized for speed. The rendering pipeline uses a multi-stage process:

  1. Virtualization: Identifies only visible cells.
  2. Layout: Computes pixel-perfect positions.
  3. Painting: Draws directly to the Canvas in a single pass.

โšก Performance #

Designed for High-Performance Spreadsheet needs.

  • Memory Footprint: ~45MB for a 50,000-row dataset.
  • Scroll Latency: < 1ms on modern devices.
  • Background Parsing: XLSX files are processed in a separate isolate to prevent UI jank.

๐Ÿ“‘ XLSX & CSV Support #

Our native XLSX & CSV parser handles:

  • Multi-sheet workbooks (XLSX)
  • Standard CSV files
  • Cell styling (bold, italic, colors)
  • Column widths and row heights
  • Merged cell regions
  • Calculated formula results

Custom Theming #

Make your Excel Grid Flutter implementation look exactly like your app.

Sheetifye.asset(
  'assets/data.xlsx',
  theme: SheetifyeThemeData(
    primaryColor: Colors.deepPurple,
    headerBackground: Colors.grey[50],
    gridColor: Colors.blueGrey[100],
    fontFamily: 'Inter',
  ),
)

Comparison Section #

Feature Sheetifye Syncfusion PlutoGrid
XLSX Parsing โœ… Native ๐ŸŸก Required Add-on โŒ None
Virtualization โœ… Built-in โœ… Built-in ๐ŸŸก Partial
Formula Engine โœ… Native AST ๐ŸŸก Partial โŒ None
Memory Usage ๐Ÿ’Ž Ultra Low ๐Ÿ”ด High ๐ŸŸก Medium
Customization โœ… High ๐ŸŸก Config only ๐ŸŸก Mixins

Roadmap #

  • โœ… v1.0.0: Native XLSX Viewer & Virtualized Grid
  • โŒ v1.1.0: Basic Cell Editing & In-memory Updates
  • โŒ v1.2.0: Live Formula Re-calculation Engine
  • โŒ v2.0.0: Advanced Styling, Charts & Conditional Formatting

Contributing #

We welcome contributions to make Sheetifye the best Flutter spreadsheet package! Check out our Contributing Guide to get started.

License #

Sheetifye is released under the MIT License. See LICENSE for details.


Built with โค๏ธ by Vikas Poute

โญ Help us grow! If you find Sheetifye useful, please give it a star on GitHub. โญ

3
likes
145
points
231
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

The high-performance Flutter Excel viewer and spreadsheet engine. Native XLSX support, virtualized rendering for millions of cells, and customizable data grid UI.

Repository (GitHub)
View/report issues
Contributing

Topics

#excel #xlsx #csv #spreadsheet #viewer

License

MIT (license)

Dependencies

archive, collection, flutter, flutter_riverpod, freezed_annotation, google_fonts, http, intl, json_annotation, riverpod_annotation, shimmer, xml

More

Packages that depend on sheetifye