CSV 文件双倍行距

我在 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 格式的混淆,但我也无法弄清楚。


炎炎设计
浏览 228回答 1
1回答

holdtom

改变sw.WriteLine(element);到sw.WriteLine(element.Trim());或者可能sw.WriteLine(element.TrimEnd());首先修剪元素。这将删除字符“边缘”周围的任何换行符或其他空白字符。然后 StreamWriter 的 CRLF 将是唯一存在的换行符。
打开App,查看更多内容
随时随地看视频慕课网APP