FLUTTER ECOSYSTEM

sestegra/spreadsheet_decoder

Spreadsheet Decoder 是一个用于解码 ODS 和 XLSX 文件的电子表格库。

spreadsheet_decoder 项目封面
Stars
56
Forks
34
最近推送(UTC)
2024年9月9日
项目状态
未归档
Stéphane Este-Gracias GitHub avatar
GITHUB User

Stéphane Este-Gracias ↗

Open Source & Cloud Native Innovation Lead

Luxembourg
语言DartShell

技术话题

使用的依赖

依赖清单 5 项

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Spreadsheet Decoder

Build Status Coverage Status Pub version

Spreadsheet Decoder is a library for decoding and updating spreadsheets for ODS and XLSX files.

Usage

On server-side
import 'dart:io';
import 'package:spreadsheet_decoder/spreadsheet_decoder.dart';

main() {
  var bytes = File.fromUri(fullUri).readAsBytesSync();
  var decoder = SpreadsheetDecoder.decodeBytes(bytes);
  var table = decoder.tables['Sheet1'];
  var values = table.rows[0];
  ...
  decoder.updateCell('Sheet1', 0, 0, 1337);
  File(join(fullUri).writeAsBytesSync(decoder.encode());
  ...
}
On client-side
import 'dart:html';
import 'package:spreadsheet_decoder/spreadsheet_decoder.dart';

main() {
  var reader = FileReader();
  reader.onLoadEnd.listen((event) {
    var decoder = SpreadsheetDecoder.decodeBytes(reader.result);
    var table = decoder.tables['Sheet1'];
    var values = table.rows[0];
    ...
    decoder.updateCell('Sheet1', 0, 0, 1337);
    var bytes = decoder.encode();
    ...
  });
}

Features not yet supported

This implementation doesn't support following features:

  • annotations
  • spanned rows
  • spanned columns
  • hidden rows (visible in resulting tables)
  • hidden columns (visible in resulting tables)

For XLSX format, this implementation only supports native Excel format for date, time and boolean type conversion. In other words, custom format for date, time, boolean aren't supported and then file exported from LibreOffice as well.

License

The MIT License, see LICENSE.