J'ai un problème pour enregistrer des données dans un fichier .csv.enregistrer les données dans le fichier csv
void WriteLog(DataRow rzad)
{
StreamWriter sw = new StreamWriter("log.csv", true);
int iColCount = 8;
for (int i = 0; i < iColCount; i++)
{
if (!Convert.IsDBNull(rzad[i]))
{
sw.Write(rzad[i].ToString());
sw.Write("\t");
}
}
sw.Write("\n");
sw.Flush();
sw.Close();
}
Le problème est de prendre dans le fichier J'ai des données dans une colonne. Je veux casser une rangée dans le format DataRow à 8 parties, qui sont mises dans 8 colonnes différentes. Ma fonction fonctionne comme elle ne voit pas l'onglet ("\ t").
Je ne peux pas publier des images, donc je tente de décrire les résultats dans un fichier csv:
2011-03-17 14:34:11asdPrzekroczono krytyczną minimalną wymaganą wartość parametru5010050080550
Ceci est mon exemple ligne et je veux briser 8 colonnes:
2011-03-17 14:34:11 asd Przekroczono krytyczną minimalną wymaganą wartość parametru 50 100 500 80 550
« # \ t # "n'aide pas. Les résultats sont:
"2011-03-17 18:29:17# #asd# #Przekroczono krytyczną, maksymalną, wymaganą wartość parametru# #560# #100# #500# #80# #550# #"
Il y a une tabulation, mais mon point est que a fait pas d'espace, mais une transition vers la cellule suivante :(
« \ u0008 » n'aide pas
Pouvez-vous nous montrer ce qu'est exactement la sortie, s'il vous plaît? –
Et un morceau complet de code exécutable. Puisque votre fonction semble correcte. – Hossein
Cela peut être un problème d'encodage. essayez ** sw.Write ("\ u0008") ** et voyez si cela fonctionne. Sinon, essayez de changer ** sw.Write ("\ t") ** en ** sw.Write ("# \ t #") ** et de voir s'il écrit le #s? – Hossein