[c#.NET] [WinApplication] [excel] PB style Excel

Signaler
Messages postés
4
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
21 janvier 2005
-
Messages postés
4
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
21 janvier 2005
-
Bonjour a tous.
J'affiche des données récuperées sous Oracle dans un datagrid, jusque la, pas de PB.
Ensuite je transfer ces données avec un bouton dans un doc Excel(.csv) que je crée, toujour pas de pb.
Par contre, il me faut changer le style de ce doc Excel comme par exemple centrer les données dans la case, metrre de la couleur... Et la c'est le bloquage total.
Voici mon code


private
void btnSave_Click(
object sender, System.EventArgs e)


{


string editingFileName =
null;



object nameArticle,nameLien,dateH;



//saveFileDialog1.Filter = "Excel files (*.csv)|*.csv|All files (*.*)|*.*" ;


saveFileDialog1.Filter = "Excel files (*.csv)|*.csv" ;


saveFileDialog1.FilterIndex = 1 ;


saveFileDialog1.RestoreDirectory =
true ;




System.Windows.Forms.DialogResult dr = saveFileDialog1.ShowDialog();



//si on click sur enregistrer dans la page du SaveFileDialogue



if (dr == System.Windows.Forms.DialogResult.OK)


{



//on récup le chemin


editingFileName = saveFileDialog1.FileName;



//on crée le fichier


FileInfo efInfo =
new FileInfo(editingFileName);


}



else



return;


FileStream fs =
new FileStream(editingFileName,FileMode.OpenOrCreate,FileAccess.Write);


StreamWriter ws =
new StreamWriter(fs);





//ecrit dans le doc excel


ws.WriteLine("{0};{1}","NUM COMPOSANT :",
this.textBoxcomp.Text);


ws.WriteLine();


ws.WriteLine("{0};{1}","MESURE :",
this.comboBox1.Text);


ws.WriteLine();


ws.WriteLine("{0};{1};{2}","NUM ARTICLE","NUM LIEN","DATE + HEURE");



//remplit le dataView1 grace au dataSet11


dataView1 = dataSet31.LIEN_LST.DefaultView;





//compte le nombre de lignes



int nbLigne = dataView1.Count;





for(
int i = 0; i < nbLigne; i++)


{



//recup les valeurs de la ligne


nameArticle =
this.dataGrid1[i,0];


nameLien =
this.dataGrid1[i,1];


dateH =
this.dataGrid1[i,2];



//ecrit dans le doc excel


ws.WriteLine("{0};{1};{2}",nameArticle,nameLien,dateH);


}




ws.Close();


MessageBox.Show("Fichier sauvegardé \nChemin : "+editingFileName);

Voila 2 jour que je galèr sans trouver de solution.
Vous etes mes sauveurs (si vous répondez bien sur).

2 réponses

Messages postés
41
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
21 avril 2011

Bonjour,


les fichiers .csv ne prennent pas en charge la mise en forme. Il s'agit uniquement de données séparées par des point-virgules.

Une solution est de creer un .xls grâce à l'interop. mais cela suppose qu'excel est installé sur l'autre machine.
Une autre est de passer par le format html qui lui prend en charge la mise en forme.
Messages postés
4
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
21 janvier 2005

OK c'est bon a savoir, je v donc tester.
Merci