我是扑朔迷离的新手,并且有一个不难为专业人士回答的问题。
我有一个简单的电子表格,其中包含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 "";
}
}
答案 0 :(得分:6)
感谢您的回答。如下所示,我使用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;
});
}
希望这可以帮助遇到相同问题的任何人。
答案 1 :(得分:0)
Tobi 给出了正确的答案,但为了使该答案独立,让我在此添加以下需求:
import 'package:flutter/services.dart' show rootBundle;
访问rootBundle
。