Flutter:如何从简单的电子表格中读取数据?

时间:2018-10-25 09:52:18

标签: csv import dart flutter spreadsheet

我是扑朔迷离的新手,并且有一个不难为专业人士回答的问题。

我有一个简单的电子表格,其中包含5列10行。现在,我有两个变量,分别代表列索引和行索引。

我想简单地从电子表格中读取相应的值,具体取决于所需的列和行号。

这有可能发生吗?可以Flutter读取电子表格(例如.csv)并以某种方式获取信息吗?

我期待着一个答案,谢谢!

编辑:这是我到目前为止的代码,最初来自https://flutter.io/cookbook/persistence/reading-writing-files/。 打印

  

I / flutter(18817):“未来”的实例

但是我不知道如何访问数据。

Future<String> readTable() async {
    try {
      final file = File("assets/res/table.txt");

      // Read the file
      String contents = await file.readAsString();
      print(contents);
      return contents;
    } catch (e) {
      // If we encounter an error, return 0
      return "";
    }
  }

2 个答案:

答案 0 :(得分:6)

感谢您的回答。如下所示,我使用asyncawait使其工作。同样重要的是像

一样在pubspec.yaml中声明资产文件
flutter:
  assets:
    - assets/res/Book1.csv

然后声明这两个函数,并在要加载数据时调用loadCSV()

Future<String> loadAsset(String path) async {
   return await rootBundle.loadString(path);
}

void loadCSV() {
  loadAsset('assets/res/Book1.csv').then((dynamic output) {
    csvRaw = output;
  });
}

希望这可以帮助遇到相同问题的任何人。

答案 1 :(得分:0)

Tobi 给出了正确的答案,但为了使该答案独立,让我在此添加以下需求:

import 'package:flutter/services.dart' show rootBundle;

访问rootBundle