62,046
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 读取csv返回数据源集合
/// </summary>
/// <param name="filePathName"></param>
/// <param name="iCol"></param>
/// <returns></returns>
public static DataTable readfile(string filePathName, int iCol)
{
DataTable dt = new DataTable();
DataRow dr;
FileStream fs = new FileStream(filePathName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs, System.Text.Encoding.Default);
string output = "";
string columsName = "";
string[] arrData;
string[] columsData;
columsName = r.ReadLine();
columsData = columsName.Split(',');
// init datatable columns
for (int i = 0; i < iCol; i++)
{
dt.Columns.Add(columsData[i].ToString(), typeof(string));
}
// read file
r.BaseStream.Seek(0, SeekOrigin.Current);
while (r.Peek() > -1)
{
output = r.ReadLine();
arrData = output.Split(',');
if (arrData.Length < iCol)
{
iCol = arrData.Length;
}
dr = dt.NewRow();
for (int i = 0; i < iCol; i++)
{
dr[i] = arrData[i];
}
dt.Rows.Add(dr);
}
r.Close();
return dt;
}