Printer CSV

Fermé
Antoine - 4 avril 2014 à 22:38
 Antoine - 4 avril 2014 à 23:00
Bonjour,

J'ai un projet à présenter pour une épreuve. J'ai des lignes de commandes fournisseurs dans une table de ma base de donnée. J'aimerais afficher les données dans un fichier csv. L'événement d'un de mes boutons permet d'enregistrer un fichier csv directement sur le bureau.

Le problème rencontré est que je n'arrive pas à écrire sur la deuxieme colonne de mon fichier excel. En effet, j'arrive à afficher mes données dans le première mais impossible de passer à la seconde.

Exemple :

(Colonne 1) | (Colonne 2) | (Colonne 3) | ...

ID PRODUIT | PRODUIT | COULEUR

154 | Bonnet | Noir
155 | Gant | Rouge
1874 | Pantalon | Majenta

J'arrive seulement à afficher ma première colonne. Je ne comprends pas très bien le printer. J'ai essayé la "," pour séparer mais ça ne marche pas. Pareil pour "\n" ou "\t" ou "\r" (je ne sais pas trop lequel est le bon, dans le doute j'ai essayé les 3 sans possibilité de passer à la deuxième colonne.

J'ai trouvé pour changer de Ligne : printer.WriteLine(...); J'ai cherché un : printer.WriteColumn(...); mais rien non plus.

Voilà l'extrait du code que j'ai :

DataTable dt = Request.GetLesLignesUneCommandeFournisseur(15);

SaveFileDialog saveCsv = new SaveFileDialog();
string filter = "CSV file (*.csv)|*.csv";
saveCsv.Filter = filter;
StreamWriter writer = null;

if (saveCsv.ShowDialog() == DialogResult.OK)
{
filter = saveCsv.FileName;
writer = new StreamWriter(filter);

writer.WriteLine("REFERENCE");

foreach (DataRow Rows in dt.Rows)
{
writer.WriteLine(Rows.ItemArray.GetValue(0));
}

writer.Close();
}

Sinon l'enregistrement du CSV marche correctement, enfin tout comme je le souhaite.

Merci de votre aide :)
A voir également:

1 réponse

Bon j'ai trouvé la solution, je la mets pour ceux que ça interesse :

printer.WriteLine("colonne 1;colonne 2;colonne 3");

Merci quand même ^^
0