Excel.ApplicationClass excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
Excel.Workbooks wbs =  excelApp.Workbooks;
Excel.Workbook wb = wbs.Open( Server.MapPath("D:\IPconv.xls"),Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing);for ( int i = 1; i <= wb.Worksheets.Count; i++ )
{
Response.Write(((Excel.Worksheet)wb.Worksheets[i]).Name);
}--------------------------------------------------
错误提示:D:\TraData\ImpData\Form1.cs(507): 找不到类型或命名空间名称“Excel”(是否缺少 using 指令或程序集引用?)这是怎么回事啊,该如何解决阿?

解决方案 »

  1.   

    添加引用--COM--Microsoft Excel 11.0 Object Library
    程序里添加using Excel;
      

  2.   

    OleDbConnection objConn=null;
    DataSet ds=new DataSet();

    string strConn= "Provider=Microsoft.Jet.OleDb.4.0;" + "data source="+fName+ ";Extended Properties=Excel 8.0;";
    objConn=new OleDbConnection(strConn);
    objConn.Open();
    DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null);
    string tableName=schemaTable.Rows[0][2].ToString().Trim();
    string strSql= "Select * From ["+tableName+"]";
    OleDbCommand objCmd=new OleDbCommand(strSql, objConn);
    OleDbDataAdapter sqlada=new OleDbDataAdapter();
    sqlada.SelectCommand=objCmd;
    sqlada.Fill(ds,"BG");DataTable dt=ds.Tables["BG"];
      

  3.   

    我添加using Excel后,提示:D:\TraData\ImpData\Form1.cs(8): 找不到类型或命名空间名称“Excel”(是否缺少 using 指令或程序集引用?)
    -------------------
    怎么回事?
      

  4.   

    没有在“引用”中添加com元件“Microsoft Excel 11.0 Object Library”。
      

  5.   

    先把Excel.exe做成dll,再引用进来就可以了
      

  6.   

    楼主添加了Microsoft Excel 11.0 Object Library的引用了吗?
      

  7.   

    就用Ole Db吧!读取到ListView中,还比较方便!
      

  8.   

    using System;
    using System.Data;
    using System.Data.OleDb;namespace Common
    {
    /// <summary>
    /// OleDbTransfer 的摘要说明。
    /// </summary>
    public class OleDbTransfer
    {
    public OleDbTransfer(){} public static OleDbDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText, params OleDbParameter[] cmdParms)
    {
    OleDbCommand cmd = new OleDbCommand();
    OleDbConnection conn = new OleDbConnection(connString); try
    {
    PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
    OleDbDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    cmd.Parameters.Clear();
    return rdr;
    }
    catch
    {
    conn.Close();
    throw;
    }
    } public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params OleDbParameter[] cmdParms)
    {
    OleDbCommand cmd = new OleDbCommand();
    using (OleDbConnection conn = new OleDbConnection(connString))
    {
    PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
    int val = cmd.ExecuteNonQuery();
    cmd.Parameters.Clear();
    return val;
    }
    } public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText, params OleDbParameter[] cmdParms)
    {
    OleDbCommand cmd = new OleDbCommand(); using (OleDbConnection conn = new OleDbConnection(connString))
    {
    PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
    object val = cmd.ExecuteScalar();
    cmd.Parameters.Clear();
    return val;
    }
    }
    private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, CommandType cmdType, 
    string cmdText, OleDbParameter[] cmdParms)
    { if (conn.State != ConnectionState.Open)
    conn.Open(); cmd.Connection = conn;
    cmd.CommandText = cmdText; if (trans != null)
    cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null)
    {
    foreach (OleDbParameter parm in cmdParms)
    cmd.Parameters.Add(parm);
    }
    } }
    }