代码之家  ›  专栏  ›  技术社区  ›  P.Brian.Mackey

在ASP.NET中上载文件

  •  1
  • P.Brian.Mackey  · 技术社区  · 14 年前

    我正在尝试使用ASP.NET和C_导入Excel文件。我在VB中找到了一个示例,但它使用的是一个名为“server.mappath”的东西,它没有解析为名称空间。我在.NET 4.0、C_和Windows XP上。我找到了一个“httpserverputility.mappath”,但我不知道这是否等同于iis7?

    C.*

    public OleDbCommand ExcelConnection()        
    {                        
        string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("~/ExcelImport.xls") + ";" + "Extended Properties=Excel 8.0;";
        //create your excel connection object using the connection string
        OleDbConnection ocnct = new OleDbConnection(conStr);
        ocnct.Open();
    
        //use a SQL Select command to retrieve the data from the Excel Spreadsheet
        //the "table name" is the name of the worksheet within the spreadsheet
        //in this case, the worksheet name is "Members" and is coded as: [Members$]
        OleDbCommand ocmd = new OleDbCommand("SELECT * FROM [Members$]", ocnct);
        return ocmd;
    }
    

    Online 样品

    受保护的函数excelConnection()作为oledbcommand

    ' Connect to the Excel Spreadsheet
    Dim xConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=" & Server.MapPath("~/ExcelImport.xls") & ";" & _
                "Extended Properties=Excel 8.0;"
    
    ' create your excel connection object using the connection string
    Dim objXConn As New OleDbConnection(xConnStr)
    objXConn.Open()
    
    ' use a SQL Select command to retrieve the data from the Excel Spreadsheet
    ' the "table name" is the name of the worksheet within the spreadsheet
    ' in this case, the worksheet name is "Members" and is coded as: [Members$]
    Dim objCommand As New OleDbCommand("SELECT * FROM [Members$]", objXConn)
    Return objCommand
    

    端函数

    2 回复  |  直到 14 年前
        1
  •  1
  •   SLaks    14 年前

    Server.MapPath 采用应用程序相对路径(以 ~ )并将其转换为磁盘上的完整路径。
    它是 Server 对象(的实例 HttpServerUtility 类),可以在 HttpContext 在页面或用户控件上。

    如果磁盘上已经有了完整的路径,就不需要它了。

        2
  •  1
  •   Jon Hanna    14 年前

    这个 HttpContext Page 类都有一个名为 Server 它返回一个 HttpServerUtility 对象(事实上, 刚打电话 return this.Context.Server )

    因此 Server.MapPath HttpServerUtility.MapPath .

    它使用一个字符串并计算如果该字符串是一个相对的URI,它将对应的文件路径,该字符串由应用程序处理的URI和文件系统(如果您有复杂的虚拟目录映射,它将为您处理)之间的开箱即用的映射,以及添加的功能,如果您以tilde开头 ~ 然后它认为这是相对于应用程序根的)。

    它可能会失败,其值既不是相对于应用程序根目录的值(以 ~ )或站点根目录(以 / )如果你一路上做了一些重新映射,但是如果你一路上做了一些重新映射,这可能不是你关心的。