![](/img/trans.png)
[英]using relative path to open excel file in visual studio using c#
[英]Reading Excel File in C# using MS Visual Studio 2010: How to give Relative Path?
我正在通過以下方式讀取Excel文件:
string path = @"C:\Users\myUserName\inputfile.xlsx";
Excel.Application app = new Application();
Excel.Workbook workbook = app.Workbooks.Open(path, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
我想知道是否有任何方法可以提供相對路徑,而不是硬編碼的絕對路徑。 我要記住的是將inputfile.xlsx放在同一目錄中並執行類似的操作...
string path = @"inputfile.xlsx";
但是,它給出了“未處理COMException”,“找不到inputfile.xlsx”
使用以下代碼獲取.exe位置:
string localPath = System.IO.Path.GetDirectoryName
(System.Reflection.Assembly.GetExecutingAssembly().Location)
如有疑問,可以使用Directory.GetCurrentDirectory()來了解當前目錄是什么。
如果Excel找不到該文件,則很有可能會誤解當前目錄是什么。 構造相對於GetCurrentDirectory()返回的目錄的路徑。
僅供參考,在調試器和MS Test單元測試中獨立運行該應用程序將全部設置不同的當前目錄。 原因是在每種情況下,可執行文件都是從不同的目錄啟動的。
確保excel文件與可執行文件位於同一文件夾中,或者相對於包含可執行文件的目錄,確保相對路徑正確。
如果項目中包含excel文件,也可以在解決方案資源管理器中右鍵單擊它,單擊屬性,然后將“復制到輸出目錄”設置為“始終復制”。 這將導致文件放置在項目輸出目錄中。 相對路徑將僅包含文件名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.