我想用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
字符来实现这一点,但是当我这样做时,所有三个句子都在不同的行上。
有谁能告诉我如何解决这个问题?
答案 0 :(得分:25)
答案 1 :(得分:0)
您可以更改应用程序用于解析csv文件中的行的标记,但根据definition of the csv file format,文件中的行用于表示生成的表格数据中的行。
答案 2 :(得分:0)
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
答案 3 :(得分:0)
始终在“ \”之间包裹您的描述,例如:CsvRow.Add(“ \”“ + ID +”:“ +描述+” \“”);
答案 4 :(得分:-1)
CSV代表“逗号分隔值”,它只是文本文件的描述。如果你想导入Excel然后只有一行中的句子,你应该尝试:
Environment.NewLine
简单/n
答案 5 :(得分:-1)
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());
答案 6 :(得分:-2)
我想在csv文件的单个单元格中写出所有这三个句子,但我想要其中三个 在单独的一行
CSV文件定义为PER LINE一行,单元格用逗号(“,”)分隔。现在,您的解析器可以支持使用“”将句子放在一个单元格中,但这已经扩展了规范。你也可以对\ n进行编码并稍后对其进行解码,但是这又不是vcsv文件。最后,您尝试根据未定义的csv文件执行某些操作。 \ n是新的线符号。自然地,编辑将在这里显示一个新的行。