在 VSTO 中以 "resource" 存储和打开工作簿
Store and open a Workbook in VSTO as "resource"
所以,我有一个工作簿,要以编程方式重现它非常复杂。为了让我的工作更快更轻松,我正在寻找一种解决方案,将工作簿“存储”到我的 VSTO 中,以便免费打开它的副本。
这对我来说似乎很有用,但我现在还没有找到任何方法来做到这一点。
我希望有人能帮我做或者告诉我如何做更好。
您可以只将它与其他文件一起包含到 VSTO 加载项安装程序中。因此,工作簿将与安装程序文件夹中的其他加载项文件一起保存。您可以随时制作副本。没有必要将其包含在资源中。
无论如何,如果您需要即时从资源中提取文件,请参阅 Extract embedded resources in C#:
System.IO.Stream fs = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(currentResource);
string scriptContents = new StreamReader(fs).ReadToEnd();
File.WriteAllText(destFile, scriptContents);
但是您的防病毒软件可能不喜欢这个解决方案!
所以在 Eugene 的帮助下,我想出了一个办法。
它让我可以帮助其他人,所以要了解更多信息,请参阅我的回答:
谢谢。
所以,我有一个工作簿,要以编程方式重现它非常复杂。为了让我的工作更快更轻松,我正在寻找一种解决方案,将工作簿“存储”到我的 VSTO 中,以便免费打开它的副本。 这对我来说似乎很有用,但我现在还没有找到任何方法来做到这一点。 我希望有人能帮我做或者告诉我如何做更好。
您可以只将它与其他文件一起包含到 VSTO 加载项安装程序中。因此,工作簿将与安装程序文件夹中的其他加载项文件一起保存。您可以随时制作副本。没有必要将其包含在资源中。
无论如何,如果您需要即时从资源中提取文件,请参阅 Extract embedded resources in C#:
System.IO.Stream fs = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(currentResource);
string scriptContents = new StreamReader(fs).ReadToEnd();
File.WriteAllText(destFile, scriptContents);
但是您的防病毒软件可能不喜欢这个解决方案!
所以在 Eugene 的帮助下,我想出了一个办法。 它让我可以帮助其他人,所以要了解更多信息,请参阅我的回答:
谢谢。