flutter_spreadsheet_ui 0.0.5 copy "flutter_spreadsheet_ui: ^0.0.5" to clipboard
flutter_spreadsheet_ui: ^0.0.5 copied to clipboard

FlutterSpreadsheetUI is a Flutter package allowing developers to create and embed spreadsheet-like tables in their Flutter applications easily. With this package, developers can create fully customiza [...]

example/lib/main.dart

import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:flutter_spreadsheet_ui/flutter_spreadsheet_ui.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Padding(
        padding: const EdgeInsets.all(6.0),
        child: FlutterSpreadsheetUI(
          config: const FlutterSpreadsheetUIConfig(
            enableColumnWidthDrag: true,
            enableRowHeightDrag: true,
            firstColumnWidth: 150,
            freezeFirstColumn: true,
            freezeFirstRow: true,
          ),
          columnWidthResizeCallback: (int columnIndex, double updatedWidth) {
            log("Column: $columnIndex's updated width: $updatedWidth");
          },
          rowHeightResizeCallback: (int rowIndex, double updatedHeight) {
            log("Row: $rowIndex's updated height: $updatedHeight");
          },
          columns: [
            // FlutterSpreadsheetUIColumn(
            //   contentAlignment: Alignment.center,
            //   cellBuilder: (context, cellId) => const Text("Task"),
            // ),
            // FlutterSpreadsheetUIColumn(
            //   width: 200,
            //   contentAlignment: Alignment.center,
            //   cellBuilder: (context, cellId) => const Text("Assigned Date"),
            // ),
            // FlutterSpreadsheetUIColumn(
            //   width: 110,
            //   cellBuilder: (context, cellId) => const Text("Permissions"),
            // ),
            ...List.generate(
              10,
              (index) => FlutterSpreadsheetUIColumn(
                width: 110,
                cellBuilder: (context, cellId) => Text(cellId),
              ),
            ),
          ],
          rows: List.generate(
            20,
            (rowIndex) => FlutterSpreadsheetUIRow(
              cells: [
                // FlutterSpreadsheetUICell(
                //   cellBuilder: (context, cellId) =>
                //       Text('Task ${rowIndex + 1}'),
                // ),
                // FlutterSpreadsheetUICell(
                //   cellBuilder: (context, cellId) => Text(
                //     DateTime.now().toString(),
                //   ),
                // ),
                // FlutterSpreadsheetUICell(
                //   cellBuilder: (context, cellId) => const Text(
                //     'None',
                //   ),
                // ),
                ...List.generate(
                  10,
                  (colIndex) => FlutterSpreadsheetUICell(
                    cellBuilder: (context, cellId) => Text(
                      cellId,
                    ),
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
9
likes
110
pub points
53%
popularity

Publisher

verified publishergairicksaha.com

FlutterSpreadsheetUI is a Flutter package allowing developers to create and embed spreadsheet-like tables in their Flutter applications easily. With this package, developers can create fully customizable tables with various features such as column resizing, row resizing, and more.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

collection, flutter, flutter_hooks, linked_scroll_controller

More

Packages that depend on flutter_spreadsheet_ui