我使用此代码将数据转换为csv文件:
var lines = new List<string>();
IEnumerable<PropertyDescriptor> props = TypeDescriptor.GetProperties(typeof(T)).OfType<PropertyDescriptor>();
var header = string.Join(",", props.ToList().Select(x => x.Name));
lines.Add(header);
var valueLines = reportData.Select(row => string.Join(",", header.Split(',').Select(a => row.GetType().GetProperty(a).GetValue(row, null))));
lines.AddRange(valueLines);
但是,当我随后查看.csv文件时,它看起来如下所示:
因此,文件没有正确地分隔。
所有内容都存储在一列中。
然而,行是正确的,但是--一列中的所有内容都是正确的。
不过,我可以在excel中再次将文件保存为“逗号分隔的Excel”,当我打开新文件时,它将显示正确。
那么,我如何将文件保存(如果不是csv),而是直接保存在正确的文件格式中?
发布于 2022-02-28 06:33:02
Excel基于您的区域首选项使用CSV分隔符。您的系统中的分隔符似乎是“;”。若要为需要写入的文件设置自定义分隔符",“
sep=
在第一行,所以您的文件必须如下所示:
sep=,
Data1, Data2, Data3...
https://stackoverflow.com/questions/71294218
复制