如何在.net中嵌入word文档

时间:2015-04-19 19:54:11

标签: c# resources embedded-resource

我试图在我的项目中嵌入word文档。该文档将被特定库用作模板。

我已使用Project | Add Existing Item...添加了该文件,我还将构建操作设置为 资源 及其复制到输出目录 不要复制

现在在我的代码背后,我这样做是为了访问该文件:

var template = DocX.Load("pack://application:,,,/doc1.docx");

但是我得到了一个例外:发生了XamlParseException。

我在这里做错了什么?

enter image description here

1 个答案:

答案 0 :(得分:3)

您需要使用Assembly.GetManifestResourceStream method从资源获取文档流,如下例所示:

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyNamespace.doc1.docx"  // check your resource name.
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
{
    var template = DocX.Load(stream);
}

另请查看以下信息:How to embed and access resources by using Visual C#

并将构建操作更改为嵌入式资源。