2011-06-29 275 views
11

我想用C#創建一個csv文件。如何在多行上寫入數據但在同一個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字符來實現這一目標,但是當我做這種方式,所有的三句話去單獨一行。

任何人都可以請告訴我如何解決這個問題?

回答

18

quote Wikipedia

領域具有嵌入式換行符必須 雙引號字符 內封閉。

像例如爲:

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

您可能可以更改應用程序用來解析csv文件中的行的標記,但根據definition of the csv file format,文件中的行用於表示結果表格數據中的行。

0

CSV代表「逗號分隔值」這僅僅是一個文本文件的描述。如果你想導入到Excel,然後只需要在一個線句子你應該嘗試:簡單/n

+2

也許是'\ n',而不是'/ n'? – abatishchev

-2

Environment.NewLine 

instread我想的單個細胞內的所有這三個句子寫csv文件,但我想他們三個 對單獨的行

CSV文件被定義爲一個行每行由逗號分隔的細胞(「」)。現在,您的解析器可以支持使用「」將句子放在一個單元格中,但這已經擴展了規範。您也可以編碼\ n並在稍後解碼,但這又不是vcsv文件。最後,你試圖做一些csv文件,每個定義沒有定義做。 \ n是新行符號。自然,編輯會在這裏顯示一個新行。

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 
相關問題