Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VS2005 - ASP.NET - C#] Importer un fichier excel sans Excel...

5 réponses
Avatar
Cyril
Bonjour

Je souhaite que les utilisateurs d'un site puisse uploader un fichier
excel pour incorporer les données dans une base.

Le serveur n'ayant pas Office, je voudrais savoir s'il est tout de même
possible de travailler sur les fichiers excel et comment ?
Il doit bien y avoir une référence à rajouter qq part ?

Merci

Cyril

5 réponses

Avatar
Cyril
J'ai trouvé qq chose mais le résultat est bizarre

OleDbConnection ExcelConnection = new
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
MonFichier+ ";Extended Properties=Excel 8.0;");

OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter();
ExcelConnection.Open();
ExcelAdapter.SelectCommand = new OleDbCommand("SELECT * FROM
[Sheet1$]", ExcelConnection);

DataSet ExcelDataSet = new DataSet();
ExcelAdapter.Fill(ExcelDataSet, "Sheet1");
ExcelConnection.Close();

Le résultat est que je ne vois que la 1ère colonne de mon fichier :
ExcelDataSet.Tables[0].Columns.Count = 1
et que le nombre de lignes = 0 alors que mon fichier contient plus de
400 lignes :
ExcelDataSet.Tables[0].Rows.Count = 0

D'après les sites où j'ai vu ce morceau de code cela devrait
fonctionner sans pb.
Qq'un a une idée de ce qui se passe ?

Cyril

Cyril a utilisé son clavier pour écrire :
Bonjour

Je souhaite que les utilisateurs d'un site puisse uploader un fichier excel
pour incorporer les données dans une base.

Le serveur n'ayant pas Office, je voudrais savoir s'il est tout de même
possible de travailler sur les fichiers excel et comment ?
Il doit bien y avoir une référence à rajouter qq part ?

Merci

Cyril


Avatar
Patrice
On a bien les titres en 1ère ligne et les données à partir de la 2ème lignes
? Tous les titres sont bien remplis ? Certains noms peuvent aussi mal
passer...

Je commencerais pas tester avec un fichier que je ferais moi...


"Cyril" a écrit dans le message de news:

J'ai trouvé qq chose mais le résultat est bizarre

OleDbConnection ExcelConnection = new
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
MonFichier+ ";Extended Properties=Excel 8.0;");

OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter();
ExcelConnection.Open();
ExcelAdapter.SelectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]",
ExcelConnection);

DataSet ExcelDataSet = new DataSet();
ExcelAdapter.Fill(ExcelDataSet, "Sheet1");
ExcelConnection.Close();

Le résultat est que je ne vois que la 1ère colonne de mon fichier :
ExcelDataSet.Tables[0].Columns.Count = 1
et que le nombre de lignes = 0 alors que mon fichier contient plus de 400
lignes :
ExcelDataSet.Tables[0].Rows.Count = 0

D'après les sites où j'ai vu ce morceau de code cela devrait fonctionner
sans pb.
Qq'un a une idée de ce qui se passe ?

Cyril

Cyril a utilisé son clavier pour écrire :
Bonjour

Je souhaite que les utilisateurs d'un site puisse uploader un fichier
excel pour incorporer les données dans une base.

Le serveur n'ayant pas Office, je voudrais savoir s'il est tout de même
possible de travailler sur les fichiers excel et comment ?
Il doit bien y avoir une référence à rajouter qq part ?

Merci

Cyril






Avatar
Paul Bacelar
Un exemple d'utilisation d'un fichier Excel comme base de données:
http://msdn.microsoft.com/msdnmag/issues/06/11/TestRun/default.aspx?loc=fr
--
Paul Bacelar
MVP VC++

"Patrice" <http://www.chez.com/scribe/> wrote in message
news:
On a bien les titres en 1ère ligne et les données à partir de la 2ème
lignes ? Tous les titres sont bien remplis ? Certains noms peuvent aussi
mal passer...

Je commencerais pas tester avec un fichier que je ferais moi...


"Cyril" a écrit dans le message de news:

J'ai trouvé qq chose mais le résultat est bizarre

OleDbConnection ExcelConnection = new
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
MonFichier+ ";Extended Properties=Excel 8.0;");

OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter();
ExcelConnection.Open();
ExcelAdapter.SelectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]",
ExcelConnection);

DataSet ExcelDataSet = new DataSet();
ExcelAdapter.Fill(ExcelDataSet, "Sheet1");
ExcelConnection.Close();

Le résultat est que je ne vois que la 1ère colonne de mon fichier :
ExcelDataSet.Tables[0].Columns.Count = 1
et que le nombre de lignes = 0 alors que mon fichier contient plus de 400
lignes :
ExcelDataSet.Tables[0].Rows.Count = 0

D'après les sites où j'ai vu ce morceau de code cela devrait fonctionner
sans pb.
Qq'un a une idée de ce qui se passe ?

Cyril

Cyril a utilisé son clavier pour écrire :
Bonjour

Je souhaite que les utilisateurs d'un site puisse uploader un fichier
excel pour incorporer les données dans une base.

Le serveur n'ayant pas Office, je voudrais savoir s'il est tout de même
possible de travailler sur les fichiers excel et comment ?
Il doit bien y avoir une référence à rajouter qq part ?

Merci

Cyril










Avatar
Cyril
Je vais essayer

merci de votre aide.


Cyril


Paul Bacelar a couché sur son écran :
Un exemple d'utilisation d'un fichier Excel comme base de données:
http://msdn.microsoft.com/msdnmag/issues/06/11/TestRun/default.aspx?loc=fr
--
Paul Bacelar
MVP VC++

"Patrice" <http://www.chez.com/scribe/> wrote in message
news:
On a bien les titres en 1ère ligne et les données à partir de la 2ème
lignes ? Tous les titres sont bien remplis ? Certains noms peuvent aussi
mal passer...

Je commencerais pas tester avec un fichier que je ferais moi...


"Cyril" a écrit dans le message de news:

J'ai trouvé qq chose mais le résultat est bizarre

OleDbConnection ExcelConnection = new
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
MonFichier+ ";Extended Properties=Excel 8.0;");

OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter();
ExcelConnection.Open();
ExcelAdapter.SelectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]",
ExcelConnection);

DataSet ExcelDataSet = new DataSet();
ExcelAdapter.Fill(ExcelDataSet, "Sheet1");
ExcelConnection.Close();

Le résultat est que je ne vois que la 1ère colonne de mon fichier :
ExcelDataSet.Tables[0].Columns.Count = 1
et que le nombre de lignes = 0 alors que mon fichier contient plus de 400
lignes :
ExcelDataSet.Tables[0].Rows.Count = 0

D'après les sites où j'ai vu ce morceau de code cela devrait fonctionner
sans pb.
Qq'un a une idée de ce qui se passe ?

Cyril

Cyril a utilisé son clavier pour écrire :
Bonjour

Je souhaite que les utilisateurs d'un site puisse uploader un fichier
excel pour incorporer les données dans une base.

Le serveur n'ayant pas Office, je voudrais savoir s'il est tout de même
possible de travailler sur les fichiers excel et comment ?
Il doit bien y avoir une référence à rajouter qq part ?

Merci

Cyril












Avatar
Cyril
Pour info, voici le résultat des courses :

Mon traitement est correct mais le format du fichier généré qu'on me
donne est bancal apparemment.
Si j'incorpore directement le fichier dans mon traitement, j'ai le
résultat que je vous ai décrit.
Si j'ouvre le fichier sous Excel et que je fais juste "enregistrer"
(sans apporter la moindre modification) et qu'ensuite je l'incorpore à
mon traitement, là ça fonctionne.

En fait ce que je fais c'est bon... ceux sont les autres qui sont
mauvais :oÞ

Cyril
p'tain chuis bon, chuis bon mais qu'est-ce que je suis bon ! :')



Patrice avait écrit le 28/02/2007 :
On a bien les titres en 1ère ligne et les données à partir de la 2ème lignes
? Tous les titres sont bien remplis ? Certains noms peuvent aussi mal
passer...

Je commencerais pas tester avec un fichier que je ferais moi...


"Cyril" a écrit dans le message de news:

J'ai trouvé qq chose mais le résultat est bizarre

OleDbConnection ExcelConnection = new
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
MonFichier+ ";Extended Properties=Excel 8.0;");

OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter();
ExcelConnection.Open();
ExcelAdapter.SelectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]",
ExcelConnection);

DataSet ExcelDataSet = new DataSet();
ExcelAdapter.Fill(ExcelDataSet, "Sheet1");
ExcelConnection.Close();

Le résultat est que je ne vois que la 1ère colonne de mon fichier :
ExcelDataSet.Tables[0].Columns.Count = 1
et que le nombre de lignes = 0 alors que mon fichier contient plus de 400
lignes :
ExcelDataSet.Tables[0].Rows.Count = 0

D'après les sites où j'ai vu ce morceau de code cela devrait fonctionner
sans pb.
Qq'un a une idée de ce qui se passe ?

Cyril

Cyril a utilisé son clavier pour écrire :
Bonjour

Je souhaite que les utilisateurs d'un site puisse uploader un fichier
excel pour incorporer les données dans une base.

Le serveur n'ayant pas Office, je voudrais savoir s'il est tout de même
possible de travailler sur les fichiers excel et comment ?
Il doit bien y avoir une référence à rajouter qq part ?

Merci

Cyril