c#保存数据格式为.cvs_c#实现数据集合转换为csv文本

本文介绍了如何使用C#将一个数据集合(例如List<T>)导出为CSV文件,支持任意类型T及指定属性导出。通过反射获取对象属性值,拼接成CSV文本,然后利用简单的导出工具类生成CSV字符串。调用示例展示了如何生成User类型的CSV字符串,并提供了文件保存和写入的辅助方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

1、将一个数据集合导出到一个csv文件中,集合类型可以视为 List,T为任意类型,T包含多个属性,可指定部分属性进行导出

2、软件中有多种不同类型的数据类型需要进行导出

需求很简单,简单分析下

1、csv格式就是文本格式,包含多行数据,每行包含多列文字,文字间已Tab标记分隔(简单,无需过多考虑)

2、针对数据类型T可以是任意类型,

3、支持指定属性导出,同一个类型也允许指定不同的属性组分别导出

4、属性与最终生成的文件中的列 一一对应,每个属性可以设置对应的列名称

初步构想解决方案

1、指定需要导出的属性名称,通过反射获取对象的属性值

2、拼接为csv文本字符串

3、提供属性名称与列名称的一一对应关系

4、使用一个简单的导出csv工具类型,仅一个一个静态方法,接受List类型数据集合,以List方式传入ColumnName与PropertyName的键值对

5、写入某指定的csv文件

实际编码

开发过程适当合理更改,如将文件写入逻辑移除(文件写入逻辑应在上层进行),保持导出逻辑简单,形成如下代码

调用方法

假设类型定义如下

public class User

{

public string Name { get;set; }

public string Info { get;set; }

}

若存在一个用户列表List Users{get;set;}

则生成csv格式字符串的代码如下

public string GenerateUserExportText()

{

return ExportCsvUtility.GenerateExportText(Usrs, new List>()

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值