You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中让CSV文件所有字段都用双引号包裹

实现Flutter csv包所有字段强制用双引号包裹

使用csv ^5.0.1包时,你可以通过配置转换器的shouldQuote回调函数,强制所有字段都被双引号包裹。默认情况下,该回调仅在字段包含逗号、引号或换行符时返回true,我们只需要让它始终返回true即可。

以下是具体实现代码:

import 'package:csv/csv.dart';

void main() {
  // 示例数据
  final List<List<dynamic>> rows = [
    ['1', 'Sunisha', 'sunisha@gmail.com', 'Abbeville, Louisiana'],
    // 可添加更多数据行
  ];

  // 配置转换器,强制所有字段加引号
  final converter = ListToCsvConverter(
    shouldQuote: (field) => true, // 关键配置:所有字段都返回true
  );

  // 生成CSV字符串
  String csvString = converter.convert(rows);
  print(csvString);
  // 输出结果:"1","Sunisha","sunisha@gmail.com","Abbeville, Louisiana"
}

如果是使用StringifyConverter,同样可以通过shouldQuote参数实现:

final converter = StringifyConverter(
  shouldQuote: (field) => true,
);

这个配置会覆盖默认的引号判断逻辑,不管字段内容是什么,都会给它加上双引号包裹,完全符合你的预期输出。

内容的提问来源于stack exchange,提问作者Sunisha Guptan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 04:54:24