我正在尝试在我的项目中嵌入Word文档。该文档将由特定库用作模板。

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

现在,在我后面的代码中,我正在执行此操作以访问文件:

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


但是我得到了一个成功:发生了XamlParseException。

我在这里做错了什么?

最佳答案

您需要使用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#

并将“生成操作”更改为“嵌入式资源”。

关于c# - 如何在.net中嵌入Word文档,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29735075/

10-11 06:26
查看更多