flutter_import_export 1.0.0 copy "flutter_import_export: ^1.0.0" to clipboard
flutter_import_export: ^1.0.0 copied to clipboard

Production-grade data import and export toolkit for Flutter supporting CSV, Excel, and JSON with customizable table preview and validation.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'screens/dashboard_screen.dart';
import 'screens/import_screens.dart';
import 'screens/mapping_screens.dart';
import 'screens/validation_screens.dart';
import 'screens/export_screens.dart';
import 'screens/streaming_screens.dart';
import 'screens/developer_screens.dart';
import 'widgets/app_scaffold.dart';
import 'widgets/app_theme.dart';

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

class FlutterImportExportExampleApp extends StatefulWidget {
  const FlutterImportExportExampleApp({super.key});

  @override
  State<FlutterImportExportExampleApp> createState() => _FlutterImportExportExampleAppState();
}

class _FlutterImportExportExampleAppState extends State<FlutterImportExportExampleApp> {
  String _activeScreenId = 'dashboard';

  @override
  void initState() {
    super.initState();
    // Read query parameter if running on Web
    final uri = Uri.base;
    if (uri.queryParameters.containsKey('screen')) {
      final requestedScreen = uri.queryParameters['screen']!;
      if (kScreenRegistry.any((s) => s['id'] == requestedScreen)) {
        _activeScreenId = requestedScreen;
      }
    }
  }

  void _navigateTo(String screenId) {
    setState(() {
      _activeScreenId = screenId;
    });
  }

  Widget _buildScreen(String screenId) {
    switch (screenId) {
      case 'dashboard':
        return DashboardScreen(onNavigate: _navigateTo);
      case 'import_csv':
        return ImportCsvScreen(onNavigate: _navigateTo);
      case 'import_excel':
        return ImportExcelScreen(onNavigate: _navigateTo);
      case 'import_json':
        return ImportJsonScreen(onNavigate: _navigateTo);
      case 'file_preview':
        return FilePreviewScreen(onNavigate: _navigateTo);
      case 'column_mapping':
        return ColumnMappingScreen(onNavigate: _navigateTo);
      case 'smart_mapping':
        return SmartMappingScreen(onNavigate: _navigateTo);
      case 'validation':
        return ValidationScreen(onNavigate: _navigateTo);
      case 'duplicate_detection':
        return DuplicateDetectionScreen(onNavigate: _navigateTo);
      case 'transformation':
        return TransformationScreen(onNavigate: _navigateTo);
      case 'import_result':
        return ImportResultScreen(onNavigate: _navigateTo);
      case 'export_csv':
        return ExportCsvScreen(onNavigate: _navigateTo);
      case 'export_excel':
        return ExportExcelScreen(onNavigate: _navigateTo);
      case 'export_json':
        return ExportJsonScreen(onNavigate: _navigateTo);
      case 'large_file_processing':
        return LargeFileProcessingScreen(onNavigate: _navigateTo);
      case 'cancellation':
        return CancellationScreen(onNavigate: _navigateTo);
      case 'configuration_playground':
        return ConfigurationPlaygroundScreen(onNavigate: _navigateTo);
      case 'developer_mode':
        return DeveloperModeScreen(onNavigate: _navigateTo);
      case 'import_inspector':
        return ImportInspectorScreen(onNavigate: _navigateTo);
      case 'schema_inspector':
        return SchemaInspectorScreen(onNavigate: _navigateTo);
      case 'diagnostics':
        return DiagnosticsScreen(onNavigate: _navigateTo);
      case 'logs':
        return LogsScreen(onNavigate: _navigateTo);
      case 'error_details':
        return ErrorDetailsScreen(onNavigate: _navigateTo);
      case 'performance':
        return PerformanceScreen(onNavigate: _navigateTo);
      default:
        return DashboardScreen(onNavigate: _navigateTo);
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Import Export Studio',
      debugShowCheckedModeBanner: false,
      theme: AppTheme.darkTheme(),
      home: AppScaffold(
        currentScreenId: _activeScreenId,
        onNavigate: _navigateTo,
        child: _buildScreen(_activeScreenId),
      ),
    );
  }
}
0
likes
160
points
54
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Production-grade data import and export toolkit for Flutter supporting CSV, Excel, and JSON with customizable table preview and validation.

Repository (GitHub)
View/report issues

Topics

#csv #excel #json #import-export #data-table

License

MIT (license)

Dependencies

csv, flutter

More

Packages that depend on flutter_import_export