I am new to flutter and a have question that shouldn't be to hard to answer for a pro.
I have a simple spreadsheet with 5 columns and 10 rows. Now I have two variables, representing column and row index.
I want to simply read the corresponding value out of the spreadsheet, depending on the wanted column and row numbers.
Is this possible with flutter? Can flutter read a spreadsheet (.csv e.g.) and somehow get the information out of it?
I'm looking forward to an answer, thank you!
EDIT: This is the code I have so far, originally from https://flutter.io/cookbook/persistence/reading-writing-files/.
It prints
I/flutter (18817): Instance of 'Future'
but I don't know how to access the data.
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 empty string
return "";
}
}
In the Flutter Calendar, get the data from the Google sheet using the Google AppScript, and load that data to the Flutter Calendar Events. STEP 2: Then, add the required data in the Google spreadsheet. STEP 3: Now, open the Google AppScript for corresponding spreadsheet data, and add the doGet() method.
Thanks for your answers. I made it work using async
and await
as can be seen in the following. Important as well is to declare the asset file in your pubspec.yaml
like
flutter:
assets:
- assets/res/Book1.csv
Then declare both functions and just call loadCSV()
when you want to load the data.
import 'package:flutter/services.dart' show rootBundle;
Future<String> loadAsset(String path) async {
return await rootBundle.loadString(path);
}
void loadCSV() {
loadAsset('assets/res/Book1.csv').then((dynamic output) {
csvRaw = output;
});
}
Tobi nailed the right answer, but to make that answer self-contained let me add here the need for:
import 'package:flutter/services.dart' show rootBundle;
to access rootBundle
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With