Question

J'ai un client de mon application basée sur le Web qui utilise largement les données de notre système pour les présentations powerpoint.

Nous permettons actuellement des données à exporter dans les types de fichiers plus traditionnels ... PDF, CSV, HTML, et quelques autres. Powerpoint ne semble pas être vraiment automatisé.

Est-il possible, sur le côté serveur ASP.NET, pour automatiser la création et à la demande téléchargement d'un format de fichier powerpoint pour un rapport d'un système?

Était-ce utile?

La solution

cet article , Steve suggère d'utiliser l'application de diapositives Aspose.

Il explique également étape par étape sur la façon de générer le fichier PowerPoint.

Voici quelques extraits de code (en VB):

Ouvrir un fichier PowerPoint existant:

 Dim fs As  System.IO.FileStream = _

   New System.IO.FileStream("c:\mypath\myfile.ppt", _

   System.IO.FileMode.Open, System.IO.FileAccess.Read)

Dim MyPres As Presentation = New Presentation(fs)

fs.Close() 

Looping les diapositives et sortir leurs formats de modèle:

Dim slides  As Slides = MyPres.Slides

For i As Integer = 0 To slides.Count - 1

   Response.Write(MyPres.Slides(i).Layout.ToString + "<br>")

Next

Dans son article, il décrit plus en détail sur la façon de le faire.

Autres conseils

Eh bien, vous avez deux façons de le faire vraiment, sans outils tiers. La première serait avec l'automatisation de PowerPoint, mais il faut que votre serveur application PowerPoint. La seconde est d'utiliser le nouveau format de fichier PPTX et générer le document powerpoint en utilisant XML.

J'ai trouvé que la meilleure façon de commencer sur le côté XML est de créer simplement un powerpoint qui fait ce que vous voulez, puis enregistrez-le et regardez le XML. Vous pouvez également consulter la documentation de Microsoft. Dans l'ensemble de travail avec les formats XML est assez facile.

Enfin, il pourrait y avoir certains éléments de tiers là-bas, mais veillez à ce qu'elles ne nécessitent pas l'automatisation COM.

En ce qui concerne l'affiche précédente, votre déclaration est incorrecte.

Vous avez vraiment avoir une option pour l'automatisation de ASP.NET côté serveur de ce processus. Utilisez les liens XML ouverts mentionnés par Ben dans la réponse originale ...

Excel 2007 et Manipuler PowerPoint 2007 fichiers avec l'API format Open XML (partie 1 de 2) Excel 2007 et manipulation PowerPoint 2007 fichiers avec l'API format Open XML (partie 2 de 2)

La raison est que l'automatisation du bureau de côté serveur est complètement non pris en charge et est une mauvaise pratique de codage, exécutant des serveurs d'automatisation de com qui sont conçus pour une utilisation interactive dans un environnement non interactif est une recette potentielle de catastrophe.

en résumé utiliser l'api xml ouvert et générer vos années pptx.

Il y a aussi d'autres options de tierces parties similaires à Aspose diapositives, tels que de OfficeWriter PowerPoint Writer .

Je ne suis pas sûr de savoir comment fonctionne diapositives Aspose, mais avec Writer PowerPoint que vous avez un existant, présentation PowerPoint au format avec des marqueurs de données qu'il contient, le vous ce processus avec Writer PowerPoint pour remplacer les marqueurs de données avec des données. Voici quelques exemples de .

il y a une autre méthode, convertir votre présentation power point aux images ou xps (présentation de la lumière d'argent), puis utiliser une sorte de JSON (jquery) pour montrer et de les télécharger.

i Mettre en oeuvre les images et xps présentation de la lumière d'argent dans mon application web

scroll top