Question

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)

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

ou est-il une bonne bibliothèque (commurcial ou libre) / brancher à utiliser pour faire ce genre d'activité.

S'il vous plaît aider

Était-ce utile?

La solution

essayer propagation Gear feuille composant tiers

http://www.spreadsheetgear.com/

Autres conseils

La meilleure façon que je l'ai trouvé est d'utiliser le format Excel XML . De cette façon, vous pouvez éditer une feuille Excel comme tout autre fichier XML. Pour voir comment Excel cache colonnes ou les protège avec un mot de passe, faire ces choses manuellement et voir comment Excel les enregistre au format XML. Ceci est un jeu d'enfant à coder, il est stable rock, et il est rapide.

Excel natifs Gestion de fichiers est plus difficile: vous pouvez utiliser les objets COM avec le noreferrer assemblées PIA . Dans mon expérience, c'est très difficile d'obtenir le droit. Dans le meilleur des cas, Excel feuilles anciennes copies de lui-même autour, que vous pouvez atténuer une réinitialisation du serveur nocturne programmée. Dans le pire des cas, Excel se bloque au hasard, ce qui rend votre site web ne répond pas.

Une autre façon de travailler avec des fichiers Excel natifs est Visual Studio Tools 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 suis pas plonger très loin dans VSTO parce que la manipulation XML fonctionnait si bien pour moi. Peut-être que d'autres personnes peuvent commenter sur la façon dont cela fonctionne dans un site Web ASP.NET.

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

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 à partir du logiciel Gembox. Ont utilisé pendant deux ans et travaille OK, il est un peu moins cher que celui ci-dessus décrite, que je ne connaissais pas avant de le voir ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top