Я использовал этот пример при экспорте данных в PowerPoint:
Я изменил метод GenerateSlidesFromDB ():
public void GenerateSlidesFromDB()
{
string slideName = @"C:\Users\x\Desktop\output.pptx";
File.Copy(@"C:\Users\x\Desktop\Test.pptx", slideName, true);
using (PresentationDocument presentationDocument = PresentationDocument.Open(slideName, true))
{
PresentationPart presentationPart = presentationDocument.PresentationPart;
SlidePart slideTemplate = (SlidePart)presentationPart.GetPartById("rId2");
string firstName = "Test User";
SlidePart newSlide = CloneSlidePart(presentationPart, slideTemplate);
InsertContent(newSlide, firstName);
newSlide.Slide.Save();
DeleteTemplateSlide(presentationPart, slideTemplate);
presentationPart.Presentation.Save();
}
}
Как видите, я перезаписываюзаполнитель с «Test User», и он работает как шарм.Мне нужно добавить изображение (в качестве заполнителя) в этот pptx-файл.
Когда я делаю это (и снова запускаю код), я получаю поврежденный pptx-файл?Сообщение об ошибке:
PowerPoint удалил нечитаемый контент в output.pptx.Вам следует просмотреть эту презентацию, чтобы определить, было ли какое-либо содержимое неожиданно изменено или удалено.
Редактировать: если я попробую оригинальный код (который слегка изменен, поскольку у меня нет Adventureworks), я получу другой видсообщения об ошибке:
Этот файл мог быть поврежден или поврежден по следующим причинам: Сторонние редакторы XML иногда создают файлы, несовместимые со спецификациями Microsoft Office XML.Файл был намеренно поврежден с целью нанести вред вашему компьютеру или вашим данным.Будьте осторожны при открытии файла из неизвестного источника.PowerPoint может попытаться восстановить данные из файла, но некоторые данные презентации, такие как фигуры, текст и форматирование, могут быть потеряны.Выполните одно из следующих действий. Если вы хотите восстановить данные из файла, нажмите кнопку «Да».Если вы не хотите восстанавливать данные из файла, нажмите Нет.