我在使用OpenOffice Calc打开使用StreamWriter C#创建的CSV文件时遇到麻烦。当打开时,它应该在每行之间有空行(双倍行距)。回车的价格似乎翻了一番。当我在记事本中打开它时,它可以正确读取。当我将程序更改为写整数而不是字符串时,问题就消失了。似乎是在每个字符串的末尾添加了一个返回值,然后格式化又添加了一个我没有看到的返回值。
输出看起来像这样...
1...
2...
3...
输出应如下所示...
1...
2...
3...
这是我用来将列表写入文件的ForEach循环...
using (StreamWriter sw = new StreamWriter(@"c:\andy\Arduino StreamWriter.csv", false, Encoding.UTF8))
{
foreach (string element in SerialPortString)
{
sw.WriteLine(element);
}
}
每行只有一个数据字段,因此没有定界符,只有换行。我尝试格式化,以便在每个字段周围都写上引号,以期消除CSV格式的混乱,但是我也无法弄清楚。
任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
更改
sw.WriteLine(element);
到
sw.WriteLine(element.Trim());
或者也许
sw.WriteLine(element.TrimEnd());
首先修剪元素。这将删除字符“边缘”周围的所有LineFeed或其他空白字符。然后,StreamWriter的CRLF将是唯一出现的换行符。