如何在csv的同一单元格内多行写入数据

本文关键字:数据 单元格 csv | 更新日期: 2023-09-27 18:00:34

我想用C#创建一个csv文件。

我有一些数据,我想写在多行,但在同一个单元格。

例如如果我有以下三句话,

Sample sentence 1. This is second sample sentence. and this is third sentence.

我想把这三句话都写在csv文件的一个单元格里,但我想把其中三句放在单独的一行。

我的预期输出是:

Sample sentence 1.
This is second sample sentence.
and this is third sentence.

目前,我正试图通过在两个句子之间使用'n字符来实现这一点,但当我这样做时,所有三个句子都在单独的一行。

谁能告诉我如何解决这个问题吗?

如何在csv的同一单元格内多行写入数据

引用维基百科:

具有嵌入换行符的字段必须包含在双引号内字符。

例如:

1997,Ford,E350,"Go get one now
they are going fast"

您可以更改应用程序用于解析csv文件中的行的标记,但根据csv文件格式的定义,文件中的行将用于表示生成的表格数据中的行。

string input = "...";
var r = input.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries) // split by dot (have you any better approaches?)
             .Select(s => String.Format("'"{0}.'"", s.Trim())); // escape each with quotes
input = String.Join(Environment.NewLine, r); // break by line break

始终将描述包装在"''"之间,例如:CsvRow.Add("''"+ID+":"+description+"");

string filePath = @"d:'pandey.csv";
        StringBuilder outString=new StringBuilder();
        outString.Append("'""); //double quote 
        outString.Append("Line 1, Hi I am line 1 of same cell'n");
        outString.Append("Line 2 Hi I am line 2 of same cell'n");
        outString.Append("Line 3 Hi I am line 3 of same cell'n");
        outString.Append("Line 4 Hi I am line 4 of same cell");
        outString.Append("'""); //double quote             
        File.WriteAllText(filePath, outString.ToString());

CSV代表"逗号分隔值",它只是对文本文件的描述。如果你想导入Excel,然后只有一行的句子,你应该试试:

Environment.NewLine

简单/n 的指令