2009-05-31 8 views
0

Je dois manuplate un classeur de feuille Excel (ajouter des feuilles/ajouter des données/Masquer les colonnes/protéger les cellules avec mot de passe/modifier les champs de contenu/etc etc)ASP.NET manuplating feuille Excel

dois-je utiliser les objets COM fournis par microsoft (mais alors je pense qu'ils ont peu de problèmes étant utilisés dans asp.NET)

ou existe-t-il une bonne bibliothèque (connectable ou gratuite) à utiliser pour faire ce genre d'activité.

s'il vous plaît aider

Répondre

2

essayer diffusion Fiche composant tiers engrenage

http://www.spreadsheetgear.com/

+0

J'ai réalisé tout ce dont vous avez besoin en utilisant la feuille de calcul –

1

La meilleure façon que je l'ai trouvé est d'utiliser le Excel XML format. De cette façon, vous pouvez éditer une feuille Excel comme n'importe quel autre fichier XML. Pour voir comment Excel cache les colonnes ou les protège avec un mot de passe, faites ces choses manuellement et voyez comment Excel les enregistre en XML. C'est un jeu d'enfant de coder, c'est stable, et c'est rapide.

La manipulation de fichiers Excel natifs est plus difficile: vous pouvez utiliser les objets COM avec le primary interop assemblies. D'après mon expérience, c'est très difficile de bien faire les choses. Dans le meilleur des cas, Excel laisse d'anciennes copies de lui-même autour, que vous pouvez atténuer avec une réinitialisation de serveur programmée tous les soirs. Dans le pire des cas, Excel va se bloquer au hasard, rendant votre site web inerte. Une autre façon de travailler avec des fichiers Excel natifs est Visual Studio Tools for Office. Il est certainement plus facile à utiliser que COM Interop, et qui fonctionne le mieux à partir de Visual Basic:

Application.Workbooks.Open("Workbook.xls") 

C# manque des paramètres facultatifs, et l'ouverture d'un classeur devient quelque chose d'une mauvaise blague:

Application.Workbooks.Open(@"Workbook.xls", 
    missing, missing, missing, missing, missing, missing, missing, 
    missing, missing, missing, missing, missing,missing, missing); 

Je ne l'ai pas plonger très loin dans VSTO parce que la manipulation XML a si bien fonctionné pour moi. Peut-être que d'autres personnes peuvent commenter comment cela fonctionne sur un site Web ASP.NET.

1

Avec SpreadsheetGear vous avez un accès complet à la doc Excel et toutes les capacités macro, y compris la capacité de protéger et non protéger les cellules, colonnes, etc. Nous avons la même chose que vous décrivez sauf dans WinForms.

0

Nous avons utilisé les objets COM et je ne peux pas le recommander. Le gros problème est que les objets ne sont jamais libérés ...

Nous utilisons maintenant le composant du logiciel Gembox. Je l'ai utilisé pendant deux ans et fonctionne bien, c'est un peu moins cher que celui ci-dessus, que je ne connaissais pas avant de le voir ici.

Questions connexes