如何用c#逐行读取CSV文件的内容,具体代码

kevin_wangzh 2005-11-03 11:39:24
如何用c#逐行读取CSV文件的内容,具体代码
...全文
838 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyqtcq 2006-07-07
  • 打赏
  • 举报
回复
to:wxdl1981(沉默之狼) 我碰到过,解决了1 保证是unicode方式打开文件 2 用"\n"分隔 3 保证输出的数据中不会有"\n" "\r" "\t" 等特殊的字符,若有要先替换掉
marvelstack 2006-01-26
  • 打赏
  • 举报
回复
A Fast CSV Reader
http://www.codeproject.com/cs/database/CsvReader.asp
wxdl1981 2006-01-24
  • 打赏
  • 举报
回复
这个程序会在读写以下CSV内容时出错
name1, name2, name3
111,222,333
444,"5,55",666
  • 打赏
  • 举报
回复
aryline = strline.Split(new char[]{'|'});改成aryline = strline.Split(new char[]{','});就可以了。
njqibin 2006-01-18
  • 打赏
  • 举报
回复
swordragon(古道热肠) ,你给的例子太好,以至于我只改了一个字母程序就完成了,多谢多谢啦,楼主要多给这位兄弟分啊。
swordragon 2005-11-03
  • 打赏
  • 举报
回复
这个例子是这样的,读取一个各字段之间以|符号分割的csv文件,其中,第一行是字段的名称。

请你参考,希望对你有用!!!

int intColCount = 0;
bool blnFlag = true;
DataTable mydt = new DataTable("myTableName");

DataColumn mydc;
DataRow mydr;

string strpath = "";
string strline;
string [] aryline;

System.IO.StreamReader mysr = new System.IO.StreamReader(strpath);

while((strline = mysr.ReadLine()) != null)
{
aryline = strline.Split(new char[]{'|'});

if (blnFlag)
{
blnFlag = false;
intColCount = aryline.Length;
for (int i = 0; i < aryline.Length; i++)
{
mydc = new DataColumn(aryline[i]);
mydt.Columns.Add(mydc);
}
}

mydr = mydt.NewRow();
for (int i = 0; i < intColCount; i++)
{
mydr[i] = aryline[i];
}
mydt.Rows.Add(mydr);
}
q_po_o 2005-11-03
  • 打赏
  • 举报
回复
mark

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧