【发布时间】:2015-07-07 16:00:32
【问题描述】:
所以我正在开发一个使用 excel 文件向用户控件添加“描述”的项目。截至目前,我的代码使用绝对路径打开 excel 文件,就像这样
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\absolute path\filename.xlsx", Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing);
效果很好。
然后我尝试重命名文件(只是为了确保没有因为某些奇怪的原因打开 C:\ 文件)并将其添加到我的项目中,这样我就不必依赖能够访问一个特定的驱动器(即文件可以打开,因为它与项目相关联)。然后我尝试了以下代码:
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"newfileName.xlsx", Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing);
这给了我这个:
“附加信息:'newfileName.xlsx' 找不到。检查文件名的拼写,并验证文件位置是否正确。”
我想知道将 excel 文件添加到项目并使用相对路径名打开它的正确方法是什么?
【问题讨论】:
-
如果您想将文件与您的项目相关联,那么您需要资源。在这里您可以看到如何将资源添加到您的项目How to create and use resources in .NET
-
好的,我认为你让我走上了正确的道路。我现在如何打开它?它在那里,但
Open方法需要一个字符串参数,我不知道如何获取路径名。我尝试了Properties.Resources.newfileName.ToString(),这给了我一个“[]System.byte”而不是 newfileName.xlsx -
资源是内存流。您必须直接使用流或使用临时路径将流保存在磁盘中并再次加载。看看我的回答。
标签: c# excel visual-studio-2012 relative-path