Lire depuis un fichier excel et stocké les donnée dans une dataset
mounir09
Messages postés15Date d'inscriptionmercredi 9 février 2011StatutMembreDernière intervention22 novembre 2013
-
7 mai 2012 à 23:06
Tupad
Messages postés239Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention27 août 2012
-
8 mai 2012 à 20:25
bonsoir
j'ai un probleme dans mon application win form sur CSharp j'essaie de lire depuis un fichier excel et stocké les donnée dans une dataset mais l'application me donne cette erreur au niveau de ma datarow "La référence d'objet n'est pas définie à une instance d'un objet."
voila un peu de mon code :
Microsoft.Office.Interop.Excel.Application appli;
Microsoft.Office.Interop.Excel._Workbook classeur;
Microsoft.Office.Interop.Excel._Worksheet feuille;
object M = System.Reflection.Missing.Value;
object FileName = ""+textBox11.Text+"";
//try
//{
appli = new Microsoft.Office.Interop.Excel.Application();
//appli.Visible = true;
//---------- création du classeur ---------
classeur = (Microsoft.Office.Interop.Excel._Workbook)(appli.Workbooks.Open(""+textBox11.Text+"", M, M, M, M, M, M, M, M, M, M, M, M, M, M));
//------ activer la feuille ----------
feuille = (Microsoft.Office.Interop.Excel._Worksheet)classeur.ActiveSheet;
DataRow dr = c.ds.Tables["compte_banque"].NewRow(); -----l’exception est levée ici ---------
for (int i = 1; i < feuille.Rows.Count; i++)
{
dr[0] = feuille.Cells[i, 1];
dr[1] = feuille.Cells[i, 2];
dr[2] = feuille.Cells[i, 3];
dr[3] = feuille.Cells[i, 4];
dr[4] = feuille.Cells[i, 5];
dr[5] = feuille.Cells[i, 6];
c.ds.Tables["compte_banque"].Rows.Add(dr);
mounir09
Messages postés15Date d'inscriptionmercredi 9 février 2011StatutMembreDernière intervention22 novembre 2013 8 mai 2012 à 12:55
non mais pourquoi je vais testé si elle est null ou pas si moi je cherche a la remplir par les données que je prend de mon fichier excel, sinon comment je peut savoir si la dataset est null ou pas
Tupad
Messages postés239Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention27 août 20125 8 mai 2012 à 15:19
En mettant un point d'arrêt à la ligne qui plante, en exécutant l'application en debug et en regardant la valeur de la table quand le point d'arrêt est levé
Tupad
Messages postés239Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention27 août 20125 8 mai 2012 à 15:40
Si tu utilises visual studio:
- un point d'arrêt peut être ajouté en cliquant dans la colonne grise tout à gauche de l'écran en face de la ligne où tu veux le mettre. Ca sert à interrompre l'exécution d'un programme en cours et vérifier l'état des variables quand ce programme est lancé en mode "debug"
- Pour lancer un programme en mode "debug", appuyer sur F5.
- Pour regarder la valeur d'une variable une fois que l'exécution d'un programme a été interrompu, séléctionné le bout de code désiré, faire click droit et "add watch" ou "quick watch"
Au pire si tu ne t'en sors pas, regarde pour afficher la valeur dans une messagebox, ou un fichier de logs
mounir09
Messages postés15Date d'inscriptionmercredi 9 février 2011StatutMembreDernière intervention22 novembre 2013 8 mai 2012 à 15:56
j fait et sa me donne cette erreur "La référence d'objet n'est pas définie à une instance d'un objet."
j modifier mon code et c'est cette derniere qui ce provoque
voila le bout du code au quelle j fait les modifications
datarow dr;
DataTable t = new DataTable();
for (int i = 1; i < 557; i++)
{
dr[0] = (feuille.Cells[i, 1].ToString());"La référence d'objet n'est pas définie à une instance d'un objet."
dr[1] = feuille.Cells[i, 2];
dr[2] = feuille.Cells[i, 3];
dr[3] = feuille.Cells[i, 4];
dr[4] = feuille.Cells[i, 5];
dr[5] = feuille.Cells[i, 6];
t.Rows.Add(dr);
}
c.ds.Tables["compte_banque"].Rows.Add(t);
j trop chercher sur web j posté la question dans plusieurs forum mais sa donne rien et je suis bloqué dans cette étape , et le pire c que ce projet est un projet de fin d'études il faut que je le valide sinon ...
merci de m’aidai encore
mounir09
Messages postés15Date d'inscriptionmercredi 9 février 2011StatutMembreDernière intervention22 novembre 2013 8 mai 2012 à 16:14
le "c" est une classe où je pose ma connexion est le "ds" c une dataset. et je comprend pas pourquoi La référence d'objet n'est pas définie à une instance d'un objet d'où vien cette erreur !! c ce qui me fait flippé
mounir09
Messages postés15Date d'inscriptionmercredi 9 février 2011StatutMembreDernière intervention22 novembre 2013 8 mai 2012 à 16:33
sa maffiche le message "c.ds.Tables["compte_banque"] null" et sa me léves l'exception qui ce léve à chaqque fois La référence d'objet n'est pas définie à une instance d'un objet
mounir09
Messages postés15Date d'inscriptionmercredi 9 février 2011StatutMembreDernière intervention22 novembre 2013 8 mai 2012 à 16:42
parce que je suis en étape de remplissage de ma dataset c pour celà que je veux lire les information de mon fichier excel et puis stocké ces informations via la dataset dans ma base de donnée SQL server 2005