將數據導出到PowerPoint時,我已經使用this例如:ASP.NET到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();
}
}
正如你所看到的我用「測試用戶」來覆蓋佔位符,它就像一個魅力。 我需要爲此pptx文件添加一個圖像(作爲佔位符)。
當我這樣做(並再次運行代碼)我得到一個損壞的pptx文件? 錯誤消息:在output.pptx
PowerPoint中除去不可讀內容 。您應該查看 此演示文稿以確定是否 任何內容意外更改 或刪除。
編輯:如果我嘗試的原代碼(這是略作修改,因爲我沒有了Adventureworks),我得到一些其他類型的錯誤信息:
此文件可能已損壞的以下原因: 第三方XML編輯器有時會創建與Microsoft Office XML規範不兼容的文件。 該文件被故意損壞,意圖損害您的計算機或您的數據。 從未知來源打開文件時要格外小心。 PowerPoint可以嘗試從文件中恢復數據,但某些演示文稿數據(如形狀,文本和格式)可能會丟失。 執行以下操作之一: 如果要從文件恢復數據,請單擊是。 如果您不想從文件中恢復數據,請單擊否。
好,你找到了解決辦法!您可以使用旁邊的空心複選標記接受您自己的答案。 – 2010-10-08 14:20:35