À l'aide de modèles dans excel avec C#
Dans le cadre du programme c# que je suis à produire j'ai besoin de générer 1 classeur contenant; 2 différentes feuilles de calcul et un 3ème qui pourrait être produite n'importe quel nombre de fois, ce est la façon la plus efficace de le faire? J'ai regardé dans l'aide de modèles bien que je ne suis pas sûr de la façon de répéter certaines feuilles de calcul, tandis que l'affichage d'autres fois. De l'aide ou des conseils seraient appréciés.
stackoverflow.com/questions/193092/...
Merci pour votre réponse, je sais comment ajouter des feuilles de calcul dans un classeur, ma difficulté a été de l'ajout de feuilles de travail qui avait déjà mise en forme. Éventuellement un modèle lorsqu'un modèle est déjà utilisé.
Merci pour votre réponse, je sais comment ajouter des feuilles de calcul dans un classeur, ma difficulté a été de l'ajout de feuilles de travail qui avait déjà mise en forme. Éventuellement un modèle lorsqu'un modèle est déjà utilisé.
OriginalL'auteur | 2009-07-06
Vous devez vous connecter pour publier un commentaire.
Un moyen simple est de faire un hands off exemple de modèle de classeur avec les trois feuilles de calcul. Puis faites-en une copie. Ouvrez les deux et re-copie de la feuille de calcul nombre de 3 sur le travail classeur en tant que nouvelle feuille de calcul en tant que de besoin.
En réponse au commentaire de:
Il ya un couple de excel moteurs dans une .net produits composant notre il y a comme de la feuille de calcul de l'engin ou de aspose cellules. Mais si votre application est un windows form et où la demande est garanti a bureau, vous pouvez utiliser l'automatisation de bureau. Vous ne pouvez pas utiliser légalement la bureautique sur un serveur web, mais il est tout aussi possible sur un serveur web comme sur un client de bureau. J'ai utilisé le aspose cellules et il est très facile à travailler et très capable et un peu moins cher que la feuille de calcul des engins, mais la feuille de calcul des engins n'ont aussi une bonne réputation. Ces deux composants ont une très bonne documentation sur la façon de faire n'importe quoi avec excel. Mais si vous avez excel et que vous souhaitez utiliser à l'automatisation de bureau, assurez-vous de regarder pour un exemple de code sur le web sur la façon de bien fermer excel à partir de c# ou vb.net. Il y a quelques astuces pour arriver à fermer correctement.
voir mes modifications ci-dessus et aussi à l'aide de l'automatisation de bureau, vous pouvez utiliser le msdn.microsoft.com/en-us/library/aa272268(bureau de.11).aspx comme une référence de l'api.
+1: C'est la façon dont je le fais toujours.
OriginalL'auteur gjutras
SpreadsheetGear pour .NET a ISheet.CopyAfter /CopyBefore méthodes qui vous permettent de copier l'intégralité d'une feuille de calcul dans un classeur ou entre classeurs.
Vous pouvez voir un exemple de duplication d'une seule feuille de calcul à plusieurs reprises dans le Feuille de calcul avec le Diagramme de Plusieurs Feuilles de calcul avec des Graphiques de l'échantillon sur la SpreadsheetGear /Excel Déclaration d'Échantillons page ici.
Avertissement: je possède SpreadsheetGear LLC
OriginalL'auteur Joe Erickson
Je l'ai fait avant avec des modèles. Je voudrais créer un modèle xls avec les deux premières feuilles de calcul que vous ne voulez pas changé, puis ajouter une 3ème feuille de calcul que vous pouvez copier à la fin du classeur (comme vous avez besoin de plus des feuilles de calcul).
Si vous savez à l'avance combien de de la 3ème feuille de calcul dont vous avez besoin, vous pouvez les copier à la fin et supprimer le modèle de 3ème slot.
Si vous ne connaissez pas, alors conserver le modèle autour de le copier à la fin, puis lorsque vous avez terminé, il suffit de retirer le 3ème modèle de feuille de calcul.
J'ai utilisé Microsoft.Bureau de.Interop.Excel dll à créer mon ExcelTemplateManger classe. L'idée de base est de créer une copie du modèle de fichier excel, et de travailler hors de la copie. Laissez-moi savoir si vous avez besoin d'aide sur la configuration de la partie, mais il devrait être trop mauvais.
OriginalL'auteur SwDevMan81