Флаттер: как читать данные из простой таблицы? - PullRequest
0 голосов
/ 25 октября 2018

Я новичок в трепетании, и у меня есть вопрос, на который нетрудно ответить профессионалу.

У меня есть простая электронная таблица с 5 столбцами и 10 строками.Теперь у меня есть две переменные, представляющие столбец и индекс строки.

Я хочу просто прочитать соответствующее значение из электронной таблицы, в зависимости от желаемого столбца и номеров строк.

Возможно ли это с флаттером?Может ли флаттер прочитать электронную таблицу (например, .csv) и каким-то образом извлечь из нее информацию?

Я с нетерпением жду ответа, спасибо!

РЕДАКТИРОВАТЬ: Это код, который ядо сих пор, начиная с https://flutter.io/cookbook/persistence/reading-writing-files/. Он печатает

I / флаттер (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 "";
    }
  }

1 Ответ

0 голосов
/ 27 октября 2018

Спасибо за ваши ответы.Я заставил его работать, используя async и await, как видно из следующего.Также важно объявить файл актива в вашем 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;
  });
}

Надеюсь, это поможет любому, у кого возникла такая же проблема.

...