说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何使用C#读取csv文件

HTML文档下载 WORD文档下载 PDF文档下载
本文提供了一个可以读取CSV的类。

创建CSV读取类CSVReader

 

public class CSVReader{	// 对象定义	private Stream objStream;	private StreamReader objReader;	// 需要添加System.IO.Stream命名空间	public CSVReader(Stream filestream) : this(filestream, null) { }	 public CSVReader(Stream filestream, Encoding enc)	 {		 this.objStream = filestream;		 //check the Pass Stream whether it is readable or not		 if (!filestream.CanRead)		 {			 return;		 }         objReader = (enc != null) ? new StreamReader(filestream, enc) : new StreamReader(filestream);	 }     //解析每行数据     public string[] GetCSVLine()     {         string data = objReader.ReadLine();		 if (data == null) return null;         if (data.Length == 0) return new string[0];		 //System.Collection.Generic use this namespace		 ArrayList result = new ArrayList();		 //解析CSV数据		 ParseCSVData(result, data);         return (string[])result.ToArray(typeof(string));	 }	 private void ParseCSVData(ArrayList result, string data)	 {		 int position = -1;		 while (position < data.Length)			 result.Add(ParseCSVField(ref data, ref position));	 }	 private string ParseCSVField(ref string data, ref int StartSeperatorPos)	 {		 if (StartSeperatorPos == data.Length – 1)		 {			 StartSeperatorPos++;			 return "";		 }         		 int fromPos = StartSeperatorPos + 1;		 if (data[fromPos] == '"')		 {			 int nextSingleQuote = GetSingleQuote(data, fromPos + 1);			 int lines = 1;			 while (nextSingleQuote == -1)			 {                 data = data + "\n" + objReader.ReadLine();			 nextSingleQuote = GetSingleQuote(data, fromPos + 1);			 lines++;			 if (lines > 20)				 throw new Exception("lines overflow: " + data);			 }			 StartSeperatorPos = nextSingleQuote + 1;			 string tempString = data.Substring(fromPos + 1, nextSingleQuote – fromPos – 1);			 tempString = tempString.Replace("'", """);				 return tempString.Replace("\"\"", "\"");		 }         		 int nextComma = data.IndexOf(',', fromPos);		 if (nextComma == -1)		 {			 StartSeperatorPos = data.Length;			 return data.Substring(fromPos);		 }		 else		 {			 StartSeperatorPos = nextComma;			 return data.Substring(fromPos, nextComma – fromPos);		 }	 }	 	 private int GetSingleQuote(string data, int SFrom)	 {		 int i = SFrom – 1;		 while (++i < data.Length)			 if (data[i] == '"')			 {				 if (i < data.Length – 1 && data[i + 1] == '"')				 {					 i++;					 continue;				 }				 else					 return i;			 }			 return -1;	 }}

该类创建好后,按钮的click事件按如下方式处理:

 

if (FileUpload1.PostedFile.FileName == string.Empty){	Label1.Visible = true;	return;}else{	//save the file	//restrict user to upload other file extenstion	string[] FileExt = FileUpload1.FileName.Split('.');	string FileEx = FileExt[FileExt.Length - 1];	if (FileEx.ToLower() == "xls")	{		FileUpload1.SaveAs(Server.MapPath("File//" + FileUpload1.FileName));	}	else	{		Label1.Visible = true;		return;	}}//create object of  previous memtain class CSVReader and pass the streamXLsReader reader = new XLsReader(FileUpload1.PostedFile.InputStream);//get the header from hearstring[] headers = reader.GetXLSine();DataTable dt = new DataTable();//add headers of dara tableforeach (string strHeader in headers)dt.Columns.Add(strHeader);string[] data;while ((data = reader.GetXLSine()) != null)dt.Rows.Add(data);//绑定gridviewGridView1.DataSource = dt;GridView1.DataBind();

 

 

 

 

 

得到内存的 Status-Delphi资料 得到上一个激活的组件-Delphi资料 得到在内存中运行的所有应用程序的handle-Delphi资料 调用控制面板项目大全-Delphi资料 动态改变当前显示模式-Delphi资料 动态改变屏幕分辨率-Delphi资料 动态建立不常用的对象-Delphi资料 对控制面板进行操作-Delphi资料 返回程序执行参数-Delphi资料 防止 Win95 显示严重错误-Delphi资料 改变操作系统日期-Delphi资料 改计算机名-Delphi资料 关闭 Windows-Delphi资料 关闭外部应用程序-Delphi资料 监视剪贴板内容-Delphi资料 检测磁盘是否变化-Delphi资料 检测驱动器容量-Delphi资料 检查驱动器是否就绪:-Delphi资料 建立简单的任务栏应用程序-Delphi资料 将程序放在Windows启动中-Delphi资料 将光标限制在某区域-Delphi资料 将文件放入回收站-Delphi资料 禁止用户切换任务-Delphi资料 控制面板大全-Delphi资料 控 制 系 统 菜 单-Delphi资料 拦截消息处理过程-Delphi资料 利用API函数开发DELPHI程序三例 利用Hook技术实现键盘监控-Delphi资料 利用浏览窗口 DragDrop 任意文件-Delphi资料 利用未公开函数实现Shell操作监视-Delphi资料 妙用Delphi的标识号 请教大师 这是所谓的“情”吗?谁碰到过如此谎谬的事~~“我们这样算什么?!” 分值,就那么重要吗?大家来探讨一下! 请问如何用TC或BC或VC实现字符界面下文本阅读器(请尽快复) lemonade请进 请教水平考试 请赐教如何制作WINDOWS下的电子行程表(请尽快复) 号外!!号外!!谁能认真点回答我这个问题? 学了C和JAVA以后,我该学哪中语言? 这么晚了,还有谁在水园? 如何用JSP实现聊天是中的自动滚屏功能? 我的FlashGet,NetAnts全都没有办法下载了!!!急死我了!!! 探讨用专业论坛和新闻组来促销,那位兄弟有经验? 一个简单的问题,大家来看罗。 如何禁止EDIT控件输入? To:pbdesigner兄弟没找到解决的办法,只好修改程序流程避开这个问题8-( 小弟该如何学习? Actinia在吗?问你个问题! 今天又有人送分,he he! VC快玩完了!!!!改学BCB!!!! 一个简单的问题,关于cin的 怎样向listview发送消息? N人上班,按照白、夜、休三班倒,如何每月按此顺序自动排班 TreeView接点如何响应单击事件? 我的一本c++教程,刚刚下载了练习答案,不会用, 请问这是个什么东东问题?(只有这么多分了。。) 一张表内关键字如何互换? 本人想插入一个记录,但该记录的一个字段是一个已经输入的值,你说该用什么函数处理呀?本人想了一个早上也想不出个原因来!!!! 今天真热,一大早爬起来去游泳,感觉真好。这里有喜欢早晨去游泳的吗? DCOM问题。Win2000下的服务器应怎样配置,才能使客户机调用服务器端的DCOM。 再不帮我我就死定了 我要哭了! 痛苦:如果你的头儿叫你帮他修改他写的一大段垃圾代码,你会怎么做办? 工程为什么不能打包? 高手快来。 请问怎么安装PB 那有Acrobat下載,不是Acrobat Reader Foxpro的ODBC,是不是真的就不支持update当前游标的记录....? 怎么在SQLSERVER2K里用存储过程得到的完整的Xml文件,我想用jsp取出来? 关于ASP 能否将文件编译程序中。 请问大家用delphi都做过哪些软件呢?能否提供下载以便欣赏呢?(无源码也可) 这是怎么回事,前几天我用BCB作了一个特殊的窗体,为什么现在我一运行一个程序所出现的窗口就是那个特殊的窗口即便是刚起动起系统也这样为什么? 为什么VB6通过ODBC方式访问一些数据库表(如本地的SQL Anywhere5或服务器端的Sybase11.5)时,只能作查询操作,不能作修改删除操作? 请问:哪里有htmlhelp的使用资料啊? 基于对话框的MFC Application, 辅助线程负责串口通信,希望在完成一个块的交换后用一个消息通知主线程,怎么做? 蝈蝈! 搜索时总是得到这个: 想去泡吧,给点建议先... 用ADO如何判断一个表或视图是否存在?高分给出解决问题者! 我有一个好友想学VB 希望得到你的帮助 IE 自动刷新?? 请大家帮忙把这篇文章翻译为英文 谢谢!从下周一开始,员工食堂关闭一周,进行重新装修.上午和下午在一楼接待厅将有餐饮公司使用推车提供饮料和三明治.附近的饭店每天中午12点到一点为 英语翻译清朝以前.(不要用任何在线翻译 ) 英语翻译黑龙江省 依安县 西门里 建行综合楼 底商4号 英语翻译Burn fat in an amazingly efficient 9-minute workout.•Uncover your "lost" abs without crunches 24 hrs a day.•Get back into good shape working out just 2 days a week.•Drop 15 pounds and also shave 4 inches off your waist i 英语翻译从前,有一只小兔子.它有一支漂亮的铅笔.它把这支铅笔装在一个铅笔盒里.有一天,小兔子打开铅笔盒,发现铅笔不在了.它伤心的哭了起来.过了几天,小狗捡到了这支铅笔,并到处询问这 求大家帮忙把中文地址翻译成英文!谢谢啦!深圳市盐田区沙头角海景二路蓝郡广场海蓝4单元6楼E号麻烦有没有高手帮我翻译成英文地址,谢谢! 英语翻译It's impossible to keep in good health unless we take sufficient recreation.The mind,too.requires change to make it acute and rigorous.There is much truth in the old saying,"All work and no play makes Jack a dull boy."There are many games 英语翻译①我要两张往返车票.②他们正在设法修理它.③我们还在吃午饭,你吃过了吗?④我刚吃过午饭,半小时前吃的.⑤几天前,我把一只手提箱落在开往伦敦的火车上了. 英语翻译我要填写一份表格.但是在地址那一栏要写英文.有个地址不知道应该怎麼翻译啊.广州市北较场横路12号物资大厦 英语翻译福清市佳惠交电贸易有限公司 (交电是摩托车和电器的意思) 英语翻译对不起,二妹 我所做的一切很伤害你吧.你很恨我吧.但是我还是希望你能忘记我.我所做的一切 就是让你不在爱我.以后还有很多辉煌的人生等着你,而我只是在你人生路过而已,设置慢 英语翻译四川省成都市高新区天府大道天府软件园A7栋3层 英语翻译公司名称:天美健国际健康科技(北京)有限公司天美健是公司名称,天美健能音译一个英文名称吗. 英语翻译临安自动化机电设备有限公司,临安市杨岱路33号翻译成英语怎么说?要正规的. 英语翻译石化木-------可仿真名贵木材、石化效果,纹理细腻、逼真高贵,任意造型、曲面、无接口(宽度1.2米以内),环保、防水、阻燃可达国家A级/欧盟VO级.生态石------可仿真名贵玉石,纹理细 英语翻译今天是雪天.外面都变成了白色.车是白的,草坪是白的,树是白的,楼房也是白的.看,淘气的雪花给楼房戴上了帽子,给草坪铺上了白地毯,给车穿上了白色的衣服.孩子们有的在打雪仗,有 英语翻译公司名称:天美健国际健康科技(北京)有限公司天美健是公司名称,天美健能音译一个英文名称吗. 英语翻译工作年限:三年以上 手 机:xxxxxxxxxx居 住 地:苏州 电子邮件:xxxxxxxxx学 历:本科 专 业:工业与民用建筑 性 别:男 出生日期:1984年9月29日 目前年薪:4万人民币 户 口:南京 身 英语翻译在汉语里,“偲”字有两个读音,一个念Cai,另一个念Si.当其作为名字时读Cai,但人们常常将其误读为Si.因此在上次的在读证明中,我们由于疏忽,将许偲先生的名字误拼为Si,对此深表抱歉. 英语翻译中文名称为:富平县百斯特绿色农业有限责任公司请帮我翻译一下,百思特应该翻成“baisite”还是“best”呢? 英语翻译自我评价自从步入社会我就把饱满的热情投入到工作中,并具有“干一行,爱一行”的敬业精神.现在我想换一个更有发展、更能提升自我的单位.我就是一匹千里马,执着地追寻着一位 英语翻译北京时间2005年10月12日9时9分52秒,中国自主研制的神舟六号载人飞船,在酒泉卫星发射中心发射升空后,准确进入预定轨道,神舟六号载人飞船发射成功.神舟六号载人飞船是中国神舟飞 英语翻译公司名是 四川兴亿成智能消防设备有限公司 英语翻译白宫的基址是美国开国元勋、第一任总统乔治·华盛顿选定的,始建于1792年,1800年基本完工.有趣的是,第一位入主白宫的总统并不是第一任总统华盛顿,而是第二任总统约翰·亚当斯; 我很想去参加你的生日 英语翻译.请快 英语翻译公司名字需要翻译成英文 :哲思文化传媒(北京)有限公司 ,直接翻译成Zhesi culture media (Beijing) Co.,Ltd.或者在线翻译了一下The philosophy of culture media (Beijing) Co.,Ltd.、 Philosophy culture medi 英语翻译自我技能简介我的主打菜肴是 广东菜 四川菜 东北菜为主会做烤鸭以及各种广式点心(水晶虾饺 灌汤蟹黄包…………………………………)擅长把中国菜融入到地方风味,对自助餐, 几道英语翻译! 快!1.告诉我更多的有关你学校的情况2.非常钦佩他们3.去购物中心4.知道怎样烧出美味的食物5.读一篇文章顺便问一下 在上个学期快结束时(翻译)I like John and i like his brother, 英语翻译广州市亚太华桑贸易发展有限公司 怎么翻译呢 英语翻译I am writing to check if you like to go further on me with my background information.I graduated from Eastern China Normal University in 85 with a BS in economics.then hold a teaching position in business school/Shanghai University for ab 英语翻译There were white lines around it,and it had a small black board saying:"Only for Head of Collage" 英语翻译中亚(天津)新材料科技有限公司要美观、准确,作为建筑前的铭牌装饰,全大写字应该怎样翻译美观, 英语翻译自我评价 熟悉计算机操作,熟练使用WINDOWS OFFICE办公软件.性格开朗、思维敏捷,善于总结分析.工作认真负责,且具备优秀的表达能力.适应能力强,很快可以融入环境,具有良好的团队协 英语翻译他的爸爸是日本人妈妈是美国人他的爱好是打篮球他想加入体育社团他会说英语也会说汉语他最喜欢的明星是迈克尔杰克逊他会弹钢琴还会唱歌和跳舞他也会弹吉它他真是一个多才 英语翻译自己注册了一个公司明年开业,全称是“上海景承广告有限公司”,求大神帮我翻译一下全称.最主要的是景承怎么翻译比较上口,也符合西方特点及读法,易于记忆上口,没有歧义.比如百 上海世博会英文简介 翻译成中文The World Expo in 2010(2010年世博会) The World Expo in 2010 Shanghai will host the 2010 World Expo. The World Expo has a long history but it has never been held in Asia. So the 2010 World Expo 求一篇关于计算机的文章,要有英语翻译.急 英语翻译河北国控金石矿业HeBei State Controlling JINSHI Mining Co,Ltd 金石是我们公司的名称 河北国控是我们总公司的名称 英语翻译• Taking charge of marketing promotion,establish effective communication with main construction companies in UAE.Planning and carrying out advertising and promotion resources.• Providing guideline to market support function,in 英语翻译如果我们能回到从前如果时间倒流如果她没有说要回来如果你没有回去找她或者说你回去了没有找她如果过年你对我说的话都做到了如果我没有犯错如果你留我了如果你和她的一切 公司英文名称翻译公司名称: 技想科技 要求: 1、将技想转成英语 2、赋予新的含义也行 3、简短有力,意义丰富 4、通俗易懂,得体合意. 请给出名称,并注明解释 公司是电子行业,外贸为主. 注 英语翻译我的姓名是XXX,出生在广州!我的工作时设计排版!我的爱好是收藏,邮票,钱币,球星卡.最大的希望是开一间邮币卡店结交天下有收藏爱好的朋友!我的星座是双鱼座.性格有点双面,对着朋 英语翻译我和我的同伴为大家表演3个魔术.我负责解说,XX来表演.那么,现在就开始了.第一个魔术:大家注意好,这是一副扑克牌.大家可以随意检查,接着我们需要一位观众配合,谁愿意上来?··· 英语翻译公司名称:技想科技 要求:1、将技想转成英语 2、赋予新的含义也行 3、简短有力,意义丰富 4、通俗易懂,得体合意.请给出名称,公司是电子行业,外贸为主.注明含意, 英语翻译2007年10月-2011年10月 担任职位:跟单部主管及采购部主管 主要负责:制定及完善本部门的ISO程序文件,根据公司实情编制及优化工作流程主持采购部全面工作,认真监督检查各采购员 翻译英语短文 请大家帮忙,谢谢INDIGOThe process of using.indigo dye to enrich clothing creates an authentic,vintage look and rica color,This unique treatment has been applied to produce an enhanced appearance taken when wearing with light 英语翻译Food and cooking Bananas are eaten deep fried,baked in their skin in a split bamboo,or steamed in glutinous rice wrapped in a banana leaf.Bananas can be made into jam.Banana pancakes are popular amongst backpackers and other travelers in 个人简历翻译成英文,急、 英语翻译We are keeping an ambitious expansion plan in China.You have an opportunity for a fast career,you will join us at RESPONSIBLE TRAINEE level and we will be looking to develop you quickly into a section manager,department manager or store m 英语翻译let it be your reminder,if you still need one,that no one ever makes it alone.请帮忙分析句子结构并翻译一下, 英语翻译Databases are usually designed to manage large bodies of information.This involves definition of structures for information storage(data modeling),provision of mechanisms for the manipulation of information(file and systems structur 精彩的文章翻译成英文同样好么 英语翻译Abstract:Jar tests were conducted to investigate the performance of enhanced primary treatment processes for low·concentra—tion municipal wastewater行om South China by using composite flocculant combined with bio.flocculants Pullu 麻烦大家帮忙把这段英文翻译成中文,谢谢了!China offers a good setting to test the relation between market institutions andaccounting properties because the levels of market development and governmentintervention vary significantly ac 请大家帮忙把文章翻译成英文`希望大家帮忙翻译下`单词要熟悉的`不要太生僻的`最好多用写句式`如定语,宾语从句之类的```23号之前翻译好!文章的地址http://hi.baidu.com/5lovewill/blog/item/19a72efbe300 英语翻译周六周日不用上班,所以我想表达的意思是“周末这两天可以休息咯!”英文该怎么说好呢? 中文地址翻译成英文!帮帮我!贵州省黎平县第一中学高三八班 陈利蓉 收 邮编557300 请大家帮忙把下面的这段文字翻译成英语谢谢大家了我非常高兴站在这里演讲.今天我想介绍一个人.他是我生命中一个重要的人.我们是在小学的一次打架后认识的.我们已经认识了10年了.小时 英语翻译“我想尽量让你觉得我过得很好,真的不用担心我,我会很开心的” 英语翻译北京市朝阳区壹线国际惠泽园10号楼1单元501室地址稍微有些变动:北京市朝阳区通惠家园惠泽园10号楼1单元501室把壹线国际改成通惠家园
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn