パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.0

excel_to_json

複数のシートをサポートし、包括的なエラー処理を備えた、Excel(.xlsx)ファイルをJSON形式に変換するFlutterパッケージです。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
566
いいね数
24
Pub ポイント
160

パッケージをインストール

flutter pub add excel_to_json

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Excel (.xlsx) ファイルを JSON 形式に変換する Flutter パッケージで、複数のシートをサポートし、堅牢なエラー処理を備えています。すべての主要プラットフォームでスプレッドシートデータを Flutter アプリケーションにシームレスに統合できます。複雑なスプレッドシートでも正確なパースと信頼性の高い結果を保証するため、構造化されたデータをアプリにインポートするのに最適です。外部依存関係なしに Excel から JSON への効率的なデータ変換が必要な開発者向けに設計されています。

用途

  • Excel ファイルから Flutter アプリにデータをインポートする
  • 複数シートのExcelファイルをJSONに変換する
  • ウェブおよびモバイルアプリでの構造化スプレッドシートデータの解析
  • Excel ソースからのデータインジェストの自動化
  • エラー耐性を備えた大規模または複雑なExcelファイルの処理

主な機能

  • 1つのExcelファイルに複数のシートをサポートしています
  • 不正なファイルに対する包括的なエラー処理
  • クロスプラットフォーム互換性(Android、iOS、Web、macOS、Windows、Linux)
  • Excel を JSON に変換するためのシンプルな API
  • 変換中にデータ型を保持する

適している対象

  • Excelデータのインポートを必要とするアプリケーションを開発する開発者
  • 構造化スプレッドシートデータを扱うチーム
  • Excelからの自動データ処理を必要とするアプリケーション
  • オフラインデータインポートを必要とするモバイルおよびウェブアプリ
  • ExcelからJSONへのデータ移行を含むプロジェクト

注意事項

  • 正常な変換には有効な .xlsx ファイルが必要です
  • 大きなファイルは、低スペックのデバイスのパフォーマンスに影響を与える可能性があります
  • Excel (.xlsx) 形式のみ、.xls は不可
  • ファイル選択用の組み込みUIがありません(ファイルピッカーと統合する必要があります)
  • 正確性は下位のパースライブラリに依存します

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Excel to JSON

pub package License: MIT pub points popularity

A Flutter package that converts Excel (.xlsx) files to JSON format, making it easy to work with spreadsheet data in your Flutter applications.

🚀 Quick Example

import 'package:excel_to_json/excel_to_json.dart';

// Simple conversion
final converter = ExcelToJson();
final jsonString = await converter.convert(); // Opens file picker

// With custom configuration  
final converter = ExcelToJson(
  config: ExcelToJsonConfig(
    includeEmptyRows: true,
    verbose: true,
  ),
);
final result = await converter.convert();

Features

✅ Simple Integration - Easy to use API with just a few lines of code
✅ Multiple Worksheets - Supports Excel files with multiple sheets
✅ Type Safety - Handles various cell types (text, numbers, dates, formulas, booleans)
✅ Configurable - Customizable conversion options
✅ Error Handling - Comprehensive error reporting and logging
✅ Cross Platform - Works on Android, iOS, Web, and Desktop

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  excel_to_json: ^1.5.0

Then run:

flutter pub get

Quick Start

Basic Usage
import 'package:excel_to_json/excel_to_json.dart';

void convertExcelToJson() async {
  final converter = ExcelToJson();
  
  try {
    final jsonString = await converter.convert();
    if (jsonString != null) {
      print('Conversion successful!');
      print(jsonString);
    } else {
      print('No file selected or conversion cancelled.');
    }
  } on ExcelToJsonException catch (e) {
    print('Conversion failed: ${e.message}');
  }
}
Advanced Usage with Configuration
import 'package:excel_to_json/excel_to_json.dart';

void convertWithConfig() async {
  const config = ExcelToJsonConfig(
    includeEmptyRows: true,        // Include rows with all empty cells
    useDateTimeStrings: false,     // Keep date objects as native types
    verbose: true,                 // Enable detailed logging
  );
  
  final converter = ExcelToJson(config: config);
  
  try {
    final jsonString = await converter.convert();
    if (jsonString != null) {
      // Process your JSON data
      final data = jsonDecode(jsonString);
      
      // Access worksheets by name
      final sheet1Data = data['Sheet1'] as List<dynamic>;
      for (final row in sheet1Data) {
        print('Row data: $row');
      }
    }
  } on ExcelToJsonException catch (e) {
    print('Error: ${e.message}');
    if (e.cause != null) {
      print('Caused by: ${e.cause}');
    }
  }
}

Configuration Options

The ExcelToJsonConfig class provides several options to customize the conversion:

Option Type Default Description
includeEmptyRows bool false Include rows where all cells are empty
useDateTimeStrings bool true Convert date/time values to strings
dateFormat String? null Custom date format pattern (future feature)
verbose bool false Enable detailed logging during conversion

Output Format

The package converts Excel files to JSON with the following structure:

{
  "Sheet1": [
    {
      "Name": "John Doe",
      "Age": 30,
      "Email": "john@example.com"
    },
    {
      "Name": "Jane Smith",
      "Age": 25,
      "Email": "jane@example.com"
    }
  ],
  "Sheet2": [
    {
      "Product": "Widget",
      "Price": 19.99,
      "InStock": true
    }
  ]
}

Each worksheet becomes a top-level property, and each row (except the header) becomes an object in the array.

Supported Cell Types

The package handles all standard Excel cell types:

  • Text - String values
  • Numbers - Integer and floating-point numbers
  • Booleans - TRUE/FALSE values
  • Dates - Date values (converted to strings by default)
  • Times - Time values (converted to strings by default)
  • DateTime - Combined date and time values
  • Formulas - Formula expressions (shows the formula, not the result)
  • Empty cells - Represented as null in JSON

Error Handling

The package provides detailed error information through the ExcelToJsonException class:

try {
  final result = await converter.convert();
} on ExcelToJsonException catch (e) {
  print('Conversion failed: ${e.message}');
  
  // Check if there's an underlying cause
  if (e.cause != null) {
    print('Underlying error: ${e.cause}');
  }
}

Platform Support

This package supports all platforms where Flutter runs:

  • ✅ Android
  • ✅ iOS
  • ✅ Web
  • ✅ Windows
  • ✅ macOS
  • ✅ Linux

Limitations

  • Only supports .xlsx files (Excel 2007+ format)
  • Does not support .xls files (Excel 97-2003 format)
  • Formula results are not calculated (shows formula text instead)
  • Charts, images, and other embedded objects are ignored

Example App

Check out the /example folder for a complete Flutter app demonstrating how to use this package.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup
  1. Fork the repository
  2. Clone your fork: git clone https://github.com/yourusername/excel_to_json.git
  3. Install dependencies: flutter pub get
  4. Run tests: flutter test
  5. Make your changes and add tests
  6. Submit a pull request

Changelog

See CHANGELOG.md for a detailed list of changes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you find this package helpful, please give it a ⭐ on GitHub and pub.dev!

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。