如何在颤动的列表中获得所需的数据?
Posted
技术标签:
【中文标题】如何在颤动的列表中获得所需的数据?【英文标题】:How can I get the desired data in the list in flutter? 【发布时间】:2021-12-07 09:34:12 【问题描述】:我有一个从 excel 中读取的列表。在这里,我想获取列表中索引号为 1 和 3 的数据。例如,我只想获取“ad”和“name”值。
示例:[tr, ad, en, name]= [ad, name]
debug=I/flutter (25765): ([Dil1, Kelime1, Dil2, Kelme2], [tr, ad, en, name], [tr, öğrenci, en, student], [en,teaching, tr, öğren])
行类型是Iterable
Future readExcel() async
var excelfileDetails = new Word();
var file = excelPath;
var bytes = File(file).readAsBytesSync();
var excel = Excel.decodeBytes(bytes);
print('$excel');
print(excel.tables.keys); //sheet Name
print(excel.tables[excel.tables.keys.first]!.maxCols);
print(excel.tables[excel.tables.keys.first]!.maxRows);
final row = excel.tables[excel.tables.keys.first]!.rows
.map((e) => e.map((e) => e!.value).toList());
print(row);
【问题讨论】:
你想要这个输出:[Kelime1, Kelme2], [ad, name], [öğrenci, student], [teach, öğren]
?
【参考方案1】:
需要先解析成List:
final row = excel.tables[excel.tables.keys.first]!.rows
.map((e) => e.map((e) => e!.value).toList()).toList();
然后:
row.forEach((e)
int index = row.indexOf(e);
row[index].removeAt(0);
row[index].removeAt(1);
);
输出:
[Kelime1, Kelme2], [ad, name], [öğrenci, student], [teach, öğren]
【讨论】:
感谢您的回复。我收到错误“没有为类型'Iterable'定义方法'indexOf'。(文档)尝试将名称更正为现有方法的名称,或定义一个名为'indexOf'的方法。 好的,我已经更新了代码! 非常感谢。这是工作。我需要学习这个主题。你能在颤振中找到我的主题列表和地图等吗....以上是关于如何在颤动的列表中获得所需的数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何编写/优化需要从 6 个相关表中选择数据的 sql 查询,直到获得所需的数据