Flutter中如何为CSV文件添加列头?(使用CSV库4.0.4版本)
给CSV添加列头的简单方法
很容易实现哦!你只需要在生成数据行之前,先把列头作为第一行添加到rows列表里就可以了。我已经帮你调整了原代码,直接用就行:
List<List<dynamic>> rows = List<List<dynamic>>(); // 新增:添加列头行,文字可以根据需求自定义 rows.add(['Name', 'Company']); // 换成中文的话就是 ['姓名', '公司'] for (int i = 0; i < rootAttendanceList.length;i++) { List<dynamic> row = List(); row.add(rootAttendanceList[i].name); row.add(rootAttendanceList[i].company); rows.add(row); } String dir = (await getApplicationDocumentsDirectory()).absolute.path; String file = "$dir"; File f = new File(file+"/myreport.csv"); String csv = const ListToCsvConverter().convert(rows); f.writeAsString(csv); print(f.path);
为什么这样有效?
ListToCsvConverter会按照rows列表的顺序逐行转换,所以把列头放在列表的第一个位置,生成的CSV文件第一行就是列头啦。如果之后需要添加更多列,只需要同步更新列头行和数据行的内容就行~
内容的提问来源于stack exchange,提问作者Văn Tấn




