C# 生成.CSV文件

raistlinql 2012-05-10 07:19:12
想要用C#生成“.csv”文件。
目的是生成后的文件用excel打开,看到的是输入内容按照单元格整齐显示,并且看不到逗号;用记事本打开看到的是一行一行的内容,每行的内容都用逗号隔开。

现在的代码如下
StreamWriter sw = new StreamWriter("d:\\1.csv",true, System.Text.Encoding.Unicode);
{
for (int i = 0; i < ds.Tables["StationInfo"].Rows.Count; i++)
{
sw.Write("BEHB," + ds.Tables["StationInfo"].Rows[i]["站号"] + "," + ds.Tables["StationInfo"].Rows[i]["站名"] + "," + ds.Tables["StationInfo"].Rows[i]["观测时间"] + "," + ds.Tables["StationInfo"].Rows[i]["要素编码"] + "," + ds.Tables["StationInfo"].Rows[i]["要素值"] + "," + ds.Tables["StationInfo"].Rows[i]["判断结果"] + "," + ds.Tables["StationInfo"].Rows[i]["确认结果"] + "," + ds.Tables["StationInfo"].Rows[i]["问题性质"] + "," + ds.Tables["StationInfo"].Rows[i]["问题原因"] + "," + ds.Tables["StationInfo"].Rows[i]["更正时间"] + "," + ds.Tables["StationInfo"].Rows[i]["责任人"] + "," + ds.Tables["StationInfo"].Rows[i]["备注"] + "\r\n");
}
}
sw.Close();


测试无论是用write还是writeline写入,得到的结构都是excel打开文件,所有内容都写在第一列单元格内,并且能够看到逗号。

求教!
...全文
694 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2014-11-27
  • 打赏
  • 举报
回复
你先用excel保存一个csv格式的文档,然后使用filestream读取一行,看看里面都是什么数据,什么格式,你按照这个格式组织你的数据,就可以了。
於黾 2014-11-27
  • 打赏
  • 举报
回复
把每一项用单引号括起来
raistlinql 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:
你可以使用Tab分割测试


那还叫 csv 吗。。
[/Quote]


+1
raistlinql 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你可以使用Tab分割测试
[/Quote]


Tab分割就不是CSV了吧...而且远端格式检查会判定错误,无法入库的
Conmajia 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你可以使用Tab分割测试
[/Quote]

那还叫 csv 吗。。
孟子E章 2012-05-10
  • 打赏
  • 举报
回复
你可以使用Tab分割测试
wangsong145 2012-05-10
  • 打赏
  • 举报
回复
楼主看看这个:
http://www.zhmy.com/wodetushuguan__2010_11__9769.html

110,534

社区成员

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

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

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