使用sheetname获取excel文件的FilePath
本文关键字:FilePath 文件 excel sheetname 获取 使用 | 更新日期: 2023-09-27 18:28:33
我想做的是获取excel文件的文件路径。但我做不到。
文件位于Document/View Studio 2013/Project/ProjectName/a.xlsx 中
string path = Path.Combine(HttpContext.Current.Server.MapPath("~/"),"a.xlsx");
string SheetName="Sheet1";
这是错误的做法还是正确的做法?
根据我的说法,这是更好的答案。
更好地保存在中
C:'Users'AJ1110'Documents'Visual Studio 2013'Projects'Proj'Proj
在中
程序.cs
string pathfile = @"..'..'a.xlsx";
string sheetName = "Whatever_SheetName_IS!!!";
这可能会解决你的问题。
HttpContext.Current
在web上下文之外不起作用。
如果您的项目在控制台或windows程序中运行,则无法使用HttpContext.Current
。MapPath
用于将web路径转换为文件系统路径。~/
是用于指向web应用程序的根web路径的.Net约定。
您应该明确您对如何解析包含文件的文件夹的要求。
也许你应该简单地把它放在一些配置文件中(例如使用项目的设置属性选项卡),然后从那里检索它。
编辑:
因此,从您对这个问题的评论来看,您似乎必须在执行文件夹中查找xl文件。
有很多方法可以实现这一点,具体取决于您的应用程序用例。
举例来说,检查这个问题。
由于您的项目不是Web项目,我希望您有某种类型的Output,其中构建过程会生成一个可执行文件、一些程序集等。您可以将Excel的构建操作作为内容(此处有更多详细信息),并使用此基本路径来检索它:
System.Reflection.Assembly.GetExecutingAssembly().Location
从可执行文件(或者更准确地说是执行程序集)的角度进行思考是很重要的,因为您的输出必须在开发环境之外运行,并且excel必须仍然可以访问。
此外,在某些情况下,获取确切的执行程序集可能很棘手。