【发布时间】:2014-10-13 19:14:52
【问题描述】:
我在将数据导出到 PowerPoint 时使用了this 示例:
我已经修改了 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();
}
}
如您所见,我用“测试用户”覆盖了占位符,它就像一个魅力。 我需要在这个 pptx 文件中添加一个图像(作为占位符)。
当我这样做(并再次运行代码)时,我得到一个损坏的 pptx 文件? 错误信息:
PowerPoint 删除了不可读的内容 在 output.pptx 中。你应该审查 本演示文稿以确定是否 任何内容被意外更改 或删除。
编辑:如果我尝试原始代码(由于我没有 Adventureworks,因此稍作修改),我会收到其他类型的错误消息:
由于以下原因,此文件可能已损坏或损坏: 第三方 XML 编辑器有时会创建与 Microsoft Office XML 规范不兼容的文件。 该文件已被故意损坏,目的是损害您的计算机或您的数据。 从未知来源打开文件时要小心。 PowerPoint 可以尝试从文件中恢复数据,但某些演示文稿数据(例如形状、文本和格式)可能会丢失。 执行以下操作之一: 如果要从文件中恢复数据,请单击是。 如果您不想从文件中恢复数据,请单击否。
【问题讨论】:
-
很好,您找到了解决方案!您可以通过旁边的空心复选标记来接受您自己的答案。
标签: asp.net xml powerpoint