首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 讀取項目目錄下 Excel 文件:相對路徑與啟動路徑區別

     編輯:程式設計綜合問答

場景

Excel 文件放在項目根目錄,代碼中如何寫路徑?原代碼使用絕對路徑 @"E:\001.xls"。

核心概念

  • 絕對路徑:完整路徑,如 E:\Project\001.xls,部署後失效。
  • 相對路徑:相對於「當前工作目錄」,Visual Studio 調試時為 bin\Debug,發布後為安裝目錄。

不同項目類型的獲取方式

項目類型獲取基準路徑代碼示例
WinForms / WPF / Console應用程序啟動目錄Application.StartupPath + "\\001.xls"
ASP.NET (WebForms/MVC)網站根目錄Server.MapPath("~/001.xls") 或 HttpContext.Current.Server.MapPath("~/001.xls")
ASP.NET CoreContentRootPath_env.ContentRootPath + "/001.xls" (注入 IWebHostEnvironment)

最佳實踐

  1. 將文件設置為「複製到輸出目錄」→「如果較新則複製」,確保構建時自動拷貝到 bin\Debug。
  2. 使用 Path.Combine 組合路徑,跨平台兼容。
  3. 部署時確認文件確實存在於目標目錄。
// WinForms 通用寫法
string filePath = Path.Combine(Application.StartupPath, "001.xls");
if (File.Exists(filePath)) {
    // 操作 Excel
}

搞清運行時基準目錄,路徑問題迎刃而解。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved