【问题标题】:Flutter web: Convert CSV to list forFlutter web:将 CSV 转换为列表
【发布时间】:2022-01-26 18:10:59
【问题描述】:

有很多 CSV 示例可以列出 Flutter 应用程序,我遇到了 Flutter Web 和文件转换的问题。

某些 CSV 无法正常工作,我猜这是格式问题 这是用户上传文件时的转换函数

Future _openFileExplorer() async {
    FilePickerResult? result = await FilePicker.platform.pickFiles(
        allowMultiple: false,
        withData: true,
        type: FileType.custom,
        allowedExtensions: ['csv']);
    if (result != null) {
      //decode bytes back to utf8
      final bytes = utf8.decode((result.files.first.bytes)!.toList());
      setState(() {
        //from the csv plugin
        employeeData = CsvToListConverter().convert(bytes);
      });
    }
  }

工作 CSV 文件转换

,

csv文件转换不行,结构不一样,一大块

,

如果您想尝试,我对项目进行了完整的 repo,在 README 中添加了一些照片,

https://github.com/valentincx/csv_to_list_for_web

【问题讨论】:

    标签: flutter csv flutter-web csvtoarray


    【解决方案1】:

    您应该将eol: "\r\n",fieldDelimiter: "," 添加到CsvToListConverter()。你的代码会是这样的:

    employeeData = CsvToListConverter(eol: "\r\n",fieldDelimiter: ",").convert(bytes);
    

    【讨论】:

    • 添加了代码,它对我的​​情况没有太大变化,但感谢您的回复!一些 csv 的格式不同,正如您在 git repo 中看到的那样,mock_data.csv 仍然无法使用此代码。我决定在它不起作用时显示一个错误,并指定用户应该发送一个特定的格式。
    猜你喜欢
    • 2015-04-01
    • 2019-12-17
    • 1970-01-01
    • 2016-01-15
    • 2018-10-25
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多