正在访问位于 Properties.Resources 的 Excel 文件并保留模板
Accessing Excel File Located at Properties.Resources and keep here template
我有一个包含多页的大 Excel 文件,我将其用作模板来写入数据,然后将其作为新文件保存到磁盘。在调试模式下,我从磁盘读取它并向其添加数据并将其保存在不同的位置,没有任何问题。但是,现在我需要为我的客户创建版本,但我想阻止他访问文件 Excel... 所以我尝试将我的 excel 文件添加到资源中,但我不能重读它,因为当我尝试从资源中读取时,我得到它就像字符串列表,但我无法读取模板的形式。
我用过
NPOI
对于 read/write excel 文件。
那么如何从 Resources 文件夹中打开它呢?是否有更好的替代方案将此类模板文件包含到解决方案中?
我找到了这个解决方案并且对我有效,
为了使用文件 Excel,它必须在物理上已经存在,所以我将 excel 文件保存为临时文件,并使用此临时文件读取我的数据,
string sPath = System.IO.Path.GetTempFileName();
System.IO.File.WriteAllBytes(sPath, Properties.Resources.data_base);
注意:Properties.Resources.data_base这是我的Excel文件。
最后我删除了这个临时文件以提高安全性
if (System.IO.File.Exists(sPath ))
{
System.IO.File.Delete(sPath );
}
我有一个包含多页的大 Excel 文件,我将其用作模板来写入数据,然后将其作为新文件保存到磁盘。在调试模式下,我从磁盘读取它并向其添加数据并将其保存在不同的位置,没有任何问题。但是,现在我需要为我的客户创建版本,但我想阻止他访问文件 Excel... 所以我尝试将我的 excel 文件添加到资源中,但我不能重读它,因为当我尝试从资源中读取时,我得到它就像字符串列表,但我无法读取模板的形式。
我用过
NPOI
对于 read/write excel 文件。
那么如何从 Resources 文件夹中打开它呢?是否有更好的替代方案将此类模板文件包含到解决方案中?
我找到了这个解决方案并且对我有效,
为了使用文件 Excel,它必须在物理上已经存在,所以我将 excel 文件保存为临时文件,并使用此临时文件读取我的数据,
string sPath = System.IO.Path.GetTempFileName();
System.IO.File.WriteAllBytes(sPath, Properties.Resources.data_base);
注意:Properties.Resources.data_base这是我的Excel文件。
最后我删除了这个临时文件以提高安全性
if (System.IO.File.Exists(sPath ))
{
System.IO.File.Delete(sPath );
}