2008-12-19 100 views
11

我有一个基于Web应用程序的客户端,他大量使用我们系统中的数据进行PowerPoint演示。asp.net - 动态生成Powerpoint文件

我们目前允许数据导出为更传统的文件类型...... PDF,CSV,HTML和其他一些文件。 Powerpoint似乎不是真正的自动化。

在ASP.NET服务器端,有没有一种方法可以为系统中的报表自动创建和按需下载Powerpoint文件格式?

回答

4

this article中,Steve建议使用Aspose的Slide应用程序。

他还一步一步解释如何生成PowerPoint文件。

下面是一些代码摘录(在VB):

打开现有PowerPoint文件:

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() 

循环的幻灯片,并输出它们的模板格式:

Dim slides As Slides = MyPres.Slides 

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

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

Next 

在他的文章中,他更详细地描述了如何去做。

4

那么你有两种方法可以真正做到这一点,没有第三方工具。第一个将与PowerPoint的自动化,但这需要您的服务器安装了PowerPoint。其次是利用新的pptx文件格式并使用XML生成PowerPoint文件。

我发现开始使用XML方面的最佳方式是简单地创建一个能够做到您想要的功能,然后保存并查看XML。您也可以查看Microsoft文档。整体使用XML格式非常简单。

最后,可能有一些第三方项目在那里,但要小心,他们不需要COM自动化。

4

在问候了以前的海报,你的说法不正确。

您真的只有一个选项用于此过程的服务器端ASP.NET自动化。 使用由Ben在原来的答复中提到的Open XML链接...

操纵Excel 2007和PowerPoint 2007页中的文件与Open XML格式的API(第1部分2) 操纵Excel 2007和PowerPoint 2007中的文件与开放XML Format API(第2部分,共2部分)

原因是办公室的服务器端自动化完全不受支持,并且是不良的编码实践,运行com设计用于在非交互式环境中交互使用的自动化服务器是一个潜在的灾难食谱。

所以总结使用打开xml api并生成您的pptx的。

-1

还有另一种方法,将你的电源插座演示文稿转换为图像或xps(银色灯光演示文稿),然后使用某种json(jquery)来显示和下载它们。

我实现图像和XPS银色的光呈现在我的web应用程序

0

也有其他第三方选件类似于阅读Aspose幻灯片,如OfficeWriter的PowerPoint Writer

我不完全确定Aspose幻灯片是如何工作的,但是对于PowerPoint Writer,您有一个现有的带有数据标记的格式化PowerPoint演示文稿,您可以使用PowerPoint Writer处理它以用数据替换数据标记。这里有一些examples