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.
J'ai réalisé tout ce dont vous avez besoin en utilisant la feuille de calcul –