我有一个基于Web的应用程序的客户端,他们大量使用我们系统中的数据进行powerpoint演示。
我们目前允许以更传统的文件类型导出数据... PDF,CSV,HTML和其他一些文件类型。 Powerpoint似乎并没有真正实现自动化。
在ASP.NET服务器端,是否有办法自动为系统报告创建和按需下载powerpoint文件格式?
答案 0 :(得分:7)
MSDN上有一些关于他们正在使用的OpenXML格式的文档:
答案 1 :(得分:4)
在this article中,史蒂夫建议使用Aspose的幻灯片应用程序。
他还逐步解释了如何生成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
在他的文章中,他详细描述了如何做到这一点。
答案 2 :(得分:4)
你有两种方法可以做到这一点,没有第三方工具。第一个是使用PowerPoint的自动化,但这要求您的服务器安装了PowerPoint。第二种是利用新的pptx文件文件格式并使用XML生成powerpoint文档。
我发现开始使用XML的最佳方法是简单地创建一个能够满足您需求的powerpoint,然后保存并查看XML。您还可以查看microsoft文档。整体使用XML格式非常简单。
最后,可能会有一些第三方项目,但要小心它们不需要COM自动化。
答案 3 :(得分:4)
关于上一张海报,您的陈述不正确。
这个过程的服务器端ASP.NET自动化实际上只有一个选项。 使用Ben在原始答案中提到的开放xml链接...
使用Open XML Format API处理Excel 2007和PowerPoint 2007文件(第1部分,共2部分) 使用Open XML Format API处理Excel 2007和PowerPoint 2007文件(第2部分,共2部分)
这样做的原因是办公室的服务器端自动化完全不受支持并且编码实践不良,运行为非交互式环境中的交互式使用而设计的com自动化服务器可能会导致灾难。
总结使用open xml api并生成你的pptx。
答案 4 :(得分:0)
还有其他类似于Aspose幻灯片的第三方选项,例如OfficeWriter的PowerPoint Writer。
我不确定Aspose Slides是如何工作的,但是使用PowerPoint Writer,你有一个带有数据标记的现有的格式化PowerPoint演示文稿,你用PowerPoint Writer处理它以用数据替换数据标记。以下是一些examples。
答案 5 :(得分:-1)
还有另一种方法,将你的电源点演示转换为图像或xps(银灯演示),然后使用某种json(jquery)来显示和下载它们。
我在我的网络应用程序中实现图像和xps银灯演示文稿