如何用c#将包含逗号的值写入CSV文件
本文关键字:CSV 文件 何用 包含逗 | 更新日期: 2023-09-27 18:14:03
我正在使用一个数据表来存储数据。
我正在将数据表中的数据导出为CSV文件。
有时可能存在包含逗号(,
)的值,因此值不能正确导出。
假设值为"9,11,32"
。我必须这样导出。
但是当我做第一列包含9
时,下一列包含11
。
我想在CSV文件的同一列中显示9,11,32
。我怎么做呢?
只需像这样将数据放入反斜杠中:"'" + yourdata + "'"。看一下下面的例子:
StringWriter csv = new StringWriter();
// Generate header of the CSV file
csv.WriteLine(string.Format("{0},{1}", "Header 1", "Header 2"));
// Generate content of the CSV file
foreach (var item in YourListData)
{
csv.WriteLine(string.Format("{0},{1}", item.Data1, "'"" + item.Data2 + "'""));
}
return File(new System.Text.UTF8Encoding().GetBytes(csv.ToString()), "application/csv", string.Format("{0}{1}", "YourFileName", ".csv"));
在示例中:您的data2可能包含逗号","
-
包含
embedded commas
的字段必须用双引号分隔。字段:
-
abc, xyz
-
pqr
-
"abc, xyz" , pqr
包含
double quote
字符的字段必须用双引号括起来,并且嵌入的双引号必须由一对连续的双引号表示。:
csv版本:Welcome to "My World"
"Welcome to ""My World"""
如果数据中有逗号需要放在csv中https://www.rfc-editor.org/rfc/rfc4180说使用引号作为:
"123,56","A dog, cat and a frog"
StringBuilder sb = new StringBuilder();
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName.Contains(","))
{
sb.Append(String.Format("'"{0}'",", col.ColumnName));
}
else
{
sb.Append(String.Format("{0},", col.ColumnName));
}
}
将Value放入双引号
string ValueToEscape = "a,b";
"'"" + ValueToEscape + "'""
CSV输出= a,b
将逗号分隔的值写入双引号之间,不加空格,以创建逗号分隔值的单列csv。
交货。我有两列代码 &Description With Values Code01 & Val1、Val2 Val3 。要使用给定的数据创建csv,请在记事本中写在行下面,并以csv扩展名保存。
Code,Description
Code01,"Val1,Val2,Val3"