繁体   English   中英

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

[英]How to add or use .docx template file as a resource or reference in c#?

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

dox.LoadFromFile("template.docx");

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

可能会将文件复制到输出目录中。 这是一个设置文件了一个简单的母校相应

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

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

当然,Visual Studio喜欢在相当奇怪的用户帐户下运行代码。 因此,我不确定测试的有效程度。

您可以将Word文档直接存储在程序集中(只需复制过去的文件到项目中即可)。

然后,您可以在进行自己的业务之前将其复制到Windows temp文件夹。 只是别忘了在您状况良好时删除temp文件夹中的文件,因为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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM