<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>坑 &#8211; Simon</title>
	<atom:link href="https://www.luisimon.com/category/%E7%B7%A8%E7%A8%8B%E4%B8%89%E5%85%A9%E4%BA%8B/%E5%9D%91/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.luisimon.com</link>
	<description>blog</description>
	<lastBuildDate>Mon, 26 Apr 2021 07:58:52 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>

<image>
	<url>https://www.luisimon.com/wp-content/uploads/2019/09/cbrks-x5t4i-001.ico</url>
	<title>坑 &#8211; Simon</title>
	<link>https://www.luisimon.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CsvHelper简单上手</title>
		<link>https://www.luisimon.com/2021/03/28/451/</link>
		
		<dc:creator><![CDATA[Alan]]></dc:creator>
		<pubDate>Sun, 28 Mar 2021 11:53:30 +0000</pubDate>
				<category><![CDATA[坑]]></category>
		<category><![CDATA[編程三兩事]]></category>
		<guid isPermaLink="false">https://www.luisimon.xyz/?p=451</guid>

					<description><![CDATA[CsvHelper是一个CSV文件的帮助类库，可以通过nuget的包管理进行引用。 虽然MS Office办公 ... <a title="CsvHelper简单上手" class="read-more" href="https://www.luisimon.com/2021/03/28/451/" aria-label="继续阅读CsvHelper简单上手">阅读更多</a>]]></description>
										<content:encoded><![CDATA[
<p>CsvHelper是一个CSV文件的帮助类库，可以通过nuget的包管理进行引用。</p>



<p>虽然MS Office办公套件的Excel默认关联CSV文件，但其本质上还是一个文本文件。下面代码解析CSV并创建了CSV对应类实例。</p>



<p><a href="https://www.luisimon.com/goto/z07b" target="_blank" rel="nofollow noreferrer noopener">源码</a></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: csharp; title: ; notranslate">
static class Program
{
	static void Main()
	{
		string path = @&quot;C:\Users\Administrator\Desktop\20201201.csv&quot;;
		string csvStr = System.IO.File.ReadAllText(path, Encoding.Default);
		//using (var sr1 = new System.IO.StreamReader(path, Encoding.Default)) //从文件读取
		using (var sr1 = new System.IO.StringReader(csvStr)) //获得的是字符串的情况下，使用StringReader
		{
			var csv = new CsvReader(sr1, System.Globalization.CultureInfo.InvariantCulture);	
			csv.Context.RegisterClassMap&lt;UcCreativeMap&gt;();//注册映射类。值得注意的是在很多博文示例中都是使用这句代码“csv.Configuration.RegisterClassMap”注册映射类的，但在Ver26.1.0的CsvHelper中，并不是这样注册的，具体请移步GitHub查看源码Demo。
			var records = csv.GetRecords&lt;UcCreative&gt;();
			var list = records.ToList(); // 把 CSV 记录映射到 MyClass，返回的 records 是个 IEnumerable&lt;T&gt; 对象	
		}
	}
}

/// &lt;summary&gt;
/// 映射表头名字
/// &lt;/summary&gt;
public class CreativeMap : CsvHelper.Configuration.ClassMap&lt;UcCreative&gt;
{
	public CreativeMap()
	{	
		Map(o =&gt; o.Date).Name(&quot;日期&quot;);//指定列头名称
		Map(o =&gt; o.Date).Name(&quot;日期&quot;).NameIndex(0);// 指定存在同名列头的顺序
		Map(o =&gt; o.Date).Index(0);// 指定列头的索引顺序
	}
}
/// &lt;summary&gt;
/// Model 类
/// &lt;/summary&gt;
public class Creative
{
	public string Date { get; set; }
	public string AccountID { get; set; }
	public string Account { get; set; }
	public string AdGroupID { get; set; }
	public string AdGroup { get; set; }
}
</pre></div>


<pre class="wp-block-code"><code></code></pre>



<p></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
