flutter的excel库如何使用
时间: 2023-12-26 22:06:46 浏览: 175
Flutter中有一个很好用的excel库叫做`excel`,可以用来读取和写入Excel文件。以下是一个简单的使用示例:
1. 添加依赖
在`pubspec.yaml`文件中添加以下依赖:
```yaml
dependencies:
excel: ^1.0.0
```
2. 读取Excel文件
假设我们有一个名为`data.xlsx`的Excel文件,其中包含一个名为`Sheet1`的工作表,我们可以使用以下代码读取并打印出其中的数据:
```dart
import 'package:excel/excel.dart';
import 'dart:io';
void main() {
var file = "data.xlsx";
var bytes = File(file).readAsBytesSync();
var excel = Excel.decodeBytes(bytes);
for (var table in excel.tables.keys) {
print(table); // 打印工作表名称
for (var row in excel.tables[table].rows) {
print(row); // 打印行数据
}
}
}
```
3. 写入Excel文件
假设我们要将以下数据写入一个名为`output.xlsx`的Excel文件中:
| Name | Age |
| ---- | --- |
| John | 25 |
| Mary | 30 |
| Bob | 40 |
我们可以使用以下代码实现:
```dart
import 'package:excel/excel.dart';
void main() {
var excel = Excel.createExcel();
var sheet = excel['Sheet1'];
sheet.cell(CellIndex.indexByString("A1")).value = "Name";
sheet.cell(CellIndex.indexByString("B1")).value = "Age";
sheet.cell(CellIndex.indexByString("A2")).value = "John";
sheet.cell(CellIndex.indexByString("B2")).value = 25;
sheet.cell(CellIndex.indexByString("A3")).value = "Mary";
sheet.cell(CellIndex.indexByString("B3")).value = 30;
sheet.cell(CellIndex.indexByString("A4")).value = "Bob";
sheet.cell(CellIndex.indexByString("B4")).value = 40;
excel.encode().then((bytes) {
File('output.xlsx').writeAsBytes(bytes);
});
}
```
这将创建一个名为`Sheet1`的工作表,并将数据写入其中。最后,将数据编码为Excel文件的字节,并将其写入名为`output.xlsx`的文件中。
阅读全文