如何实现 csv 转换到 datatable。给个思路

chzns 2011-11-02 09:10:23

用户的需求是这样的。他们许多文件csv格式的(跟excel差不多的)。是挂在web网站上面的。 根据这个csv的下载地址。

(下载地址都是已知的)

现在要在winform的窗体的点击某一个按钮,比如在datagridview ,直接显示csv里面的值。

楼下的个思路就行!要方便快捷的.

把文件另存为---在导入 --就不考虑了。【客户会嫌麻烦】。
...全文
235 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2011-11-02
  • 打赏
  • 举报
回复

public static List<String[]> ReadCsv(string filePathName)
{
List<String[]> ls = new List<String[]>();
StreamReader fileReader=new StreamReader(filePathName);
string strLine="";
while (strLine != null)
{
strLine = fileReader.ReadLine();
if (strLine != null && strLine.Length>0)
{
ls.Add(strLine.Split(',')); //换成你实际的分隔符
}
}
fileReader.Close();
return ls;
}


获取数据List<String[]>后,加入到DataTable中,或直接在上面代码里面加入。。。
ycagri 2011-11-02
  • 打赏
  • 举报
回复
把文件另存为---在导入 --就不考虑了。【客户会嫌麻烦】。


WEB上的CSV文件下载的过程实际上也是一种另存为,就看你是存为本地文件了,还是内存流了

一种方式,就是采用odbc或oledb方式,将csv文件当成数据库来存取
另一种方式,csv文件就是用逗号分隔的一行一行的文本文件,也可以当文本文件一行一行来读取
mabaolin 2011-11-02
  • 打赏
  • 举报
回复
using (StreamReader sw = new StreamReader(filePath,Encoding.Default))
{

string str = sw.ReadLine();
string[] columns = str.Split(',');//默认第一行是column的name
foreach (string name in columns)
{
ds.Columns.Add(name);
}

string line = sw.ReadLine();
while (line != null)
{
string[] data = line.Split(',');
ds.Rows.Add(data);
line = sw.ReadLine();
}

sw.Close();
}

mabaolin 2011-11-02
  • 打赏
  • 举报
回复
http://blog.csdn.net/mabaolin/article/details/6858348
dulei123321 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nanqi0506 的回复:]

错了,应该是odbc
[/Quote]+1
神棍 2011-11-02
  • 打赏
  • 举报
回复
敢不敢去网上搜一下.
chzns 2011-11-02
  • 打赏
  • 举报
回复
敢不敢详细点
神棍 2011-11-02
  • 打赏
  • 举报
回复
错了,应该是odbc
神棍 2011-11-02
  • 打赏
  • 举报
回复
用oledb就可以.

110,567

社区成员

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

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

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