如何在c#中添加或使用.docx模板文件作为资源或引用?

时间:2018-03-15 18:05:03

标签: c# winforms

我试图使用C#表单创建一个填充文档模板文件的winapp并创建一个新的.docx文件。我应该把.docx文件放在哪里,我应该如何使用它。我将我的模板放在Debug文件夹中并加载它:

dox.LoadFromFile("template.docx");

我在使用可执行文件时遇到问题,因为它似乎找不到template.docx

2 个答案:

答案 0 :(得分:1)

可能将文件副本放入输出目录中。这是将文件设置为accordingly

的简单方法

但是,在Programm目录中包含这样的数据是不受欢迎的。从Windows XP开始,您不太可能再获得对这些文件的写入权限。因此,除非您的程序以完全的管理权限运行,否则任何形式的更改都将被阻止。

此类文件的预定位置是SpecialFolders。在那些你保证在某种程度上写权利。虽然您仍然可以将模板存储在programm目录中以便在需要时将其复制到那里,但最好将其作为hte安装过程的一部分复制到默认用户。

当然Visual Studio喜欢在相当奇怪的用户帐户下运行代码。所以我不确定测试的效果有多远。

答案 1 :(得分:0)

您可以将Word文档直接存储在程序集中(通过项目中的文件进行juste复制)。

然后,您只需将其复制到Windows临时文件夹,然后再开展业务。只是不要忘记在好的时候删除临时文件夹中的文件,因为Windows不会为你做这件事。

    Dim fileLocation As String = Path.GetTempFileName()
    Using newFile As Stream = New FileStream(fileLocation, FileMode.Create)
         Assembly.GetExecutingAssembly().GetManifestResourceStream("YourAssemblyName.yourfile.docx").CopyTo(newFile)
    End Using 

    ...
    System.IO.File.Delete(fileLocation)