2009-12-02 16 views
1

J'ai écrit une page ASP.NET qui importait des données à partir d'une feuille de calcul Excel sans aucun problème. Ensuite, je l'ai déplacé sur le serveur et j'ai découvert qu'il ne fonctionnait pas sur un système d'exploitation 64 bits. Après quelques recherches sur Google, j'ai découvert que MS n'a pas et ne disposera jamais d'un pilote Jet DB pour un système d'exploitation 64 bits. Est-ce que quelqu'un a des suggestions pour un moyen d'importer facilement des données en utilisant une page ASP.NET sur un système d'exploitation 64 bits? Le client veut juste un moyen simple d'importer des données en vrac. Idéalement, il s'agirait d'une feuille de calcul Excel ou d'un fichier CSV. Idéalement, ce ne serait pas super compliqué. Ils souhaitent que les utilisateurs professionnels non techniques puissent remplir une feuille de calcul (ou quelque chose de similaire), puis accéder à une page Web et la télécharger sur le serveur. S'il n'y a aucun moyen de le faire avec une feuille de calcul sur un système d'exploitation 64 bits, quelqu'un a-t-il des suggestions?Comment importer une feuille de calcul Excel sur un système d'exploitation 64 bits à l'aide d'ASP.NET?

Merci, Corey

+0

« et qu'il n'aura jamais un jet DB pilote pour système d'exploitation 64 bits "- pas vrai. Office 2010 aura une version 64 bits, ce qui signifie que l'ACE (c'est-à-dire, "Jet 5") pour A2010 devra avoir une version 64 bits. Ce n'est pas "Jet" en soi, mais il va vous donner un accès complet à toutes les versions actuelles et plus anciennes de Jet (y compris au moins pour Jet 2, pour autant que je sache). –

Répondre

1

Ma suggestion serait d'utiliser un fichier CSV si c'est une possibilité.

De cette façon, vous ne seriez pas lié aux pilotes Microsoft JET. Vous pouvez lire le fichier et l'analyser en utilisant un simple fichier IO.

+0

Duh, bien sûr! Parfois, vous êtes tellement concentré sur la résolution de quelque chose d'une manière complexe que vous oubliez la manière la plus simple. Je vais certainement le faire. Merci. –

+0

Cette méthode a fini par être la solution la plus simple. De cette façon, je pourrais tout garder 64 bits. J'ai trouvé un bon lecteur CSV que quelqu'un d'autre avait construit à l'adresse suivante: http://www.codeproject.com/KB/database/CsvReader.aspx. Ça a marché comme sur des roulettes. –

0

Vous pouvez exécuter votre pool d'applications pour ce site asp.net en mode 32 bits - et les pilotes de jet devraient alors fonctionner.

IIS7 ...

appcmd apppool set /apppool.name:MySitesAppPool /enable32BitAppOnWin64:true 

IIS6 ...

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1 
aspnet_regiis.exe -i 

Voir ma réponse here pour plus de détails.

+0

Les pilotes JET sont-ils déjà installés sur des plates-formes 64 bits? –

+0

Oui, mais il s'agit de bibliothèques 32 bits - vous ne pouvez donc pas les charger à partir du processus 64 bits sous lequel votre application s'exécute. –

+0

Y a-t-il des inconvénients à l'exécution du pool d'applications en mode 32 bits? Est-ce quelque chose que je peux "défaire" si besoin est? –

0

vous permettra d'importer des classeurs Excel et SpreadsheetGear prend en charge 64 bits .NET ainsi que 32 bits .NET.

Vous pouvez voir des échantillons en direct here et télécharger l'essai gratuit here si vous voulez l'essayer vous-même.

Avertissement: Je détiens SpreadsheetGear LLC

0

Si son Office 2007, puis utilisez le format XML ouvert ...... le reste devient très clair :)