У меня есть клиент моего веб-приложения, который активно использует данные из нашей системы для презентаций PowerPoint.
В настоящее время мы разрешаем экспорт данных в файлы более традиционных типов ... PDF, CSV, HTML и некоторые другие. Powerpoint, похоже, не совсем автоматизирован.
Есть ли способ на стороне сервера ASP.NET автоматизировать создание и загрузку по запросу формата файла PowerPoint для отчета из системы?





В эта статья Стив предлагает использовать приложение 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
В своей статье он более подробно описывает, как это сделать.
Что ж, у вас есть два способа сделать это без сторонних инструментов. Первый - с автоматизацией PowerPoint, но для этого требуется, чтобы на вашем сервере был установлен PowerPoint. Второй - использовать новый формат файла pptx и сгенерировать документ PowerPoint с помощью XML.
Я обнаружил, что лучший способ начать работу со стороны XML - просто создать PowerPoint, который делает то, что вы хотите, затем сохранить его и просмотреть XML. Вы также можете просмотреть документацию Microsoft. В целом работать с форматами XML довольно просто.
Наконец, могут быть некоторые сторонние элементы, но будьте осторожны, они не требуют автоматизации COM.
В MSDN есть документация о формате OpenXML, который они используют:
Что касается предыдущего плаката, ваше утверждение неверно.
У вас действительно есть только один вариант для автоматизации этого процесса на стороне сервера ASP.NET. Используйте открытые ссылки xml, упомянутые Беном в исходном ответе ...
Управление файлами Excel 2007 и PowerPoint 2007 с помощью API формата Open XML (часть 1 из 2) Управление файлами Excel 2007 и PowerPoint 2007 с помощью API формата Open XML (часть 2 из 2)
Причина этого в том, что автоматизация офиса на стороне сервера полностью не поддерживается и является плохой практикой кодирования, запуск серверов автоматизации com, которые предназначены для интерактивного использования в неинтерактивной среде, является потенциальным рецептом катастрофы.
Итак, вкратце используйте открытый xml api и сгенерируйте свои pptx.
есть другой метод, преобразовать презентацию Power Point в изображения или xps (презентация с серебряным светом), а затем использовать какой-то json (jquery), чтобы показать и загрузить их.
Я реализую изображения и презентацию xps silver light в своем веб-приложении
Существуют также другие сторонние параметры, похожие на Aspose Slides, например Писатель PowerPoint от OfficeWriter.
Я не совсем уверен, как работает Aspose Slides, но с PowerPoint Writer у вас есть существующая отформатированная презентация PowerPoint с маркерами данных в ней, которую вы обрабатываете с помощью PowerPoint Writer, чтобы заменить маркеры данных данными. Вот такие Примеры.
Попробуйте www.pptxbuilder.com