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

cs_jacky38 Messages postés 4 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005 - 20 janv. 2005 à 15:42
cs_jacky38 Messages postés 4 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005 - 21 janv. 2005 à 09:55
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

TUHABITES Messages postés 41 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 21 avril 2011
20 janv. 2005 à 18:14
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.
0
cs_jacky38 Messages postés 4 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 21 janvier 2005
21 janv. 2005 à 09:55
OK c'est bon a savoir, je v donc tester.
Merci
0
Rejoignez-nous