欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在C#中使用嵌入的资源

程序员文章站 2024-03-24 12:25:22
...

前言

在一些应用场合,我们希望将一些资源嵌入到程序中,然后在使用的时候再提取出来写到本地文件中,本文就介绍其主要实现方法。

主要步骤

具体过程共有三包,分别是添加文件、设置属性和写入本地文件。

第1步:添加文件

这将就是直接在VS的项目管理器,将需要添加的资源文件添加到项目中即可。本文使用了一个名为 “template.xlsx” 的Excel模板。

第2步:设置属性

这里我们需要设置一个重要的属性:生成操作,将其设置为“嵌入的资源”即可,如下所示。

在C#中使用嵌入的资源

第3步:添加写到本地的代码

这步就是最终的目标,即将程序中的嵌入的资源文件写到本地。
实现代码如下所示:

// 首先检测模板文件是否存在。
if (!File.Exists(template_filepath))
{
	System.Reflection.Assembly assembly = GetType().Assembly;
	Stream streamSmall = assembly.GetManifestResourceStream("ImageAreaSelector.Resources.template.xlsx");
	//注:ImageAreaSelector.Resources.template.xlsx是资源路径
	// 如果资源路径写错了会返回空值,使用时就会报“未将对象引用设置到对象的实例”的异常
	int length = (int)streamSmall.Length; 
	byte[] bs = new byte[length];
	streamSmall.Read(bs, 0, length);
	File.WriteAllBytes(template_filepath, bs);
	streamSmall.Close();
}

小结

以上示例介绍了将一个 Excel 模板嵌入到项目中的示例,在具体的工程应用中,可以将所需要的一些不大的配置或模板文件直接添加到程序中,然后在程序运行时释放出来。