如何在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
相关产品推荐
相关产品推荐

