C#操作CSV文件类实例
本文实例讲述了C#操作CSV文件类。分享给大家供大家参考。具体分析如下:
这个C#类用于转换DataTable为CSV文件、CSV文件转换成DataTable,如果需要进行CSV和DataTable之间进行转换,使用这个类非常合适。
usingSystem.Data; usingSystem.IO; namespaceDotNet.Utilities { ///<summary> ///CSV文件转换类 ///</summary> publicstaticclassCsvHelper { ///<summary> ///导出报表为Csv ///</summary> ///<paramname="dt">DataTable</param> ///<paramname="strFilePath">物理路径</param> ///<paramname="tableheader">表头</param> ///<paramname="columname">字段标题,逗号分隔</param> publicstaticbooldt2csv(DataTabledt,stringstrFilePath,stringtableheader,stringcolumname) { try { stringstrBufferLine=""; StreamWriterstrmWriterObj=newStreamWriter(strFilePath,false,System.Text.Encoding.UTF8); strmWriterObj.WriteLine(tableheader); strmWriterObj.WriteLine(columname); for(inti=0;i<dt.Rows.Count;i++) { strBufferLine=""; for(intj=0;j<dt.Columns.Count;j++) { if(j>0) strBufferLine+=","; strBufferLine+=dt.Rows[i][j].ToString(); } strmWriterObj.WriteLine(strBufferLine); } strmWriterObj.Close(); returntrue; } catch { returnfalse; } } ///<summary> ///将Csv读入DataTable ///</summary> ///<paramname="filePath">csv文件路径</param> ///<paramname="n">表示第n行是字段title,第n+1行是记录开始</param> publicstaticDataTablecsv2dt(stringfilePath,intn,DataTabledt) { StreamReaderreader=newStreamReader(filePath,System.Text.Encoding.UTF8,false); inti=0,m=0; reader.Peek(); while(reader.Peek()>0) { m=m+1; stringstr=reader.ReadLine(); if(m>=n+1) { string[]split=str.Split(','); System.Data.DataRowdr=dt.NewRow(); for(i=0;i<split.Length;i++) { dr[i]=split[i]; } dt.Rows.Add(dr); } } returndt; } } }
希望本文所述对大家的C#程序设计有所帮助。