J'utilise un tableau de données pour stocker des données.
J'exporte les données du tableau de données vers un fichier CSV.
Parfois, il peut y avoir des valeurs contenant des virgules (,
) afin que les valeurs ne soient pas exportées correctement.
Considérez que la valeur est "9,11,32"
. Je dois exporter en tant que tel.
Mais quand je fais la première colonne de conatins 9
puis dans la colonne suivante 11
.
Je veux afficher 9,11,32
dans la même colonne du fichier CSV. Comment je fais ça?
Mettez simplement vos données dans la barre oblique inverse comme ceci: "\" "+ vos données +"\"". Jetez un œil à l'exemple ci-dessous:
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"));
Dans l'exemple: Vos données2 peuvent contenir des virgules ","
Les champs avec embedded commas
Doivent être délimités par des guillemets doubles.
champs:
abc, xyz
pqr
version csv:
"abc, xyz" , pqr
Les champs qui contiennent des caractères double quote
Doivent être entourés de guillemets doubles et les guillemets intégrés doivent chacun être représentés par une paire de guillemets consécutifs.
champ:
Welcome to "My World"
version csv:
"Welcome to ""My World"""
Si vous avez une virgule dans les données, vous devez mettre dans un csv le http://tools.ietf.org/html/rfc418 dit d'utiliser des citations comme:
"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));
}
}
Écrivez la valeur séparée par des virgules entre guillemets doubles sans espace pour créer un fichier CSV avec une seule colonne pour les valeurs séparées par des virgules.
Ex. J'ai deux colonnes Code & Description Avec des valeurs Code01 & Val1, Val2, Val. Pour créer un fichier csv avec des données données, écrivez la ligne ci-dessous dans le bloc-notes et enregistrez-la avec l'extension csv.
Code,Description
Code01,"Val1,Val2,Val3"
Mettez la valeur entre guillemets.
string ValueToEscape = "a,b";
"\"" + ValueToEscape + "\""
Sortie CSV = a, b