l'enregistrement des données dans le fichier csv

J'ai un problème pour enregistrer des données dans un .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 tak dans le fichier j'ai des données dans Une colonne. Je veux casser une ligne dans DataRow format de 8 pièces, qui sont mis en 8 colonnes différentes. Ma fonction de travail car il ne veut pas voir l'onglet ("\t").

Je ne peux pas poster des images j'ai donc essayer de décrire les résultats dans un fichier csv:

2011-03-17 14:34:11asdPrzekroczono krytyczną minimalną wymaganą wartość parametru5010050080550

C'est mon exemple de ligne et je veux smash à 8 colonnes:

2011-03-17 14:34:11     asd     Przekroczono krytyczną minimalną wymaganą wartość parametru   50     100    500     80      550     

"#\t#" n'aide pas. Le résultat est:

"2011-03-17 18:29:17#   #asd#   #Przekroczono krytyczną, maksymalną, wymaganą wartość parametru#    #560#   #100#   #500#   #80#    #550#   #"

Il ya un certain dépouillement, mais mon point est que fait pas de l'espace mais une transition vers la cellule suivante 🙁

"\u0008" aussi n'aide pas.

  • Pouvez-vous nous montrer ce qu'est exactement la sortie, s'il vous plaît?
  • Et un morceau de code exécutable. Depuis votre fonction semble correcte.
  • Cela peut être un problème d'encodage. essayez de sw.Write("\u0008") et voir si cela fonctionne. Si pas, essayez de changer de sw.Write("\t") pour sw.Write("#\t#") et voir si il écrit la #s?
  • Vous pouvez le vérifier sur ce gist.github.com/riyadparvez/4467668