无刷新上传解析csv文件
2010-06-25 11:35
134 查看
前阵子工作中用到,贴上代码,仅保留上传有关的代码,发现code其实很少。
解析csv文件
点击下载
解析csv文件
private DataTable ImportDataTable(string filepath) { DataTable mydt = new DataTable("myTableName"); mydt.Columns.Add("Data ID", System.Type.GetType("System.String")); mydt.Columns.Add("Field Name", System.Type.GetType("System.String")); mydt.Columns.Add("New Value", System.Type.GetType("System.String")); DataRow mydr; using (System.IO.StreamReader mysr = new System.IO.StreamReader(filepath)) { int data; char current; StringBuilder text = new StringBuilder(); IDictionary<int, List<string>> results = new Dictionary<int, List<string>>(); bool isInYinHao = false; ; int lineId = 1; int index = 0; while (true) { data = mysr.Read(); if (data != -1) { current = (char)data; if (current == '"') { if (isInYinHao) { isInYinHao = false; } else { if (index > 0) { text.Append(current); } isInYinHao = true; } } else if (current == ',') { if (isInYinHao) { text.Append(current); } else { SaveResult(results, lineId, text); index = 0; continue; } } else if (current == '\r') { if (isInYinHao) { text.Append(current); } } else if (current == '\n') { if (isInYinHao) { text.Append(current); } else { SaveResult(results, lineId, text); index = 0; lineId++; continue; } } else if (current == '\0') { } else { text.Append(current); } index++; } else { //Read to file end. SaveResult(results, lineId, text); break; } } foreach (int id in results.Keys) { mydr = mydt.NewRow(); for (int i = 0; i < results[id].Count; i++) { if (i > 2) { break; } mydr[i] = results[id][i]; } mydt.Rows.Add(mydr); } } return mydt; } private void SaveResult(IDictionary<int, List<string>> results, int lineId, StringBuilder text) { if (!results.ContainsKey(lineId)) { results.Add(lineId, new List<string>()); } results[lineId].Add(text.ToString()); text.Remove(0, text.Length); }
点击下载
相关文章推荐
- asp.net+js 实现无刷新上传解析csv文件的代码
- asp.net+js 实现无刷新上传解析csv文件的代码
- 批量导入(单文件的文件上传 + 解析上传的csv文件 ,导入至数据库 ,反馈信息)
- 文件上传的解决方案总结暨CSV文件解析
- php的curl,uploadfile上传文件,xml解析,邮件发送,动态时间,去重,等
- JavaWeb实现文件上传下载功能实例解析
- JavaScript上传文件时不用刷新页面方法总结(推荐)
- jquery 的ajax无刷新上传文件之后,页面还是会莫名的刷新-----解决办法
- 使用PHP和HTML5 FormData实现无刷新文件上传教程
- struts2文件上传入门解析
- JavaWeb实现文件上传下载功能实例解析
- 实习第一天——做一个录音上传服务器的小功能pttp协议post发送文件和参数到服务器,解析返回的json数据
- 文件上传漏洞及解析漏洞总结
- 深入springMVC------文件上传源码解析(上篇)
- JavaWeb文件上传与下载功能解析
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- 无刷新文件上传
- CodeIgniter 的文件上传控件解析
- 将本地CSV格式文件内容上传到服务器的一个简单例子
- jquery ajax 多文件Excel解析上传