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#程序设计有所帮助。