你可以在VS.net 2003的联机帮助找一下,好像有哦!

解决方案 »

  1.   

    vb里 有些东西在c#里面 暂时没有等价物 如activex等  你要调用excel 可以 用 数据库联接的方法连 excel
      

  2.   

    如何在form上嵌入一个excel对象呢?
      

  3.   

    如何在form上嵌入一个excel对象呢?比如嵌入excel文件中的图表?
      

  4.   

    不要忘记给分呀,还有Eric.Common.YHJMessage.ErrorMsg等只是一个写好的提示框删掉就可以了using System;
    using System.Data;
    using System.Data.SqlClient;namespace Bases
    {
    /// <summary>
    /// Summary description for ExcelClass.
    /// </summary>
    public class ExcelClass
    {
    public ExcelClass()
    {
    //
    // TODO: Add constructor logic here
    //
    }
    }
    class ExcelDB
    {
    //string SPath;
    System.Data.OleDb.OleDbConnection OleDBCn;
    System.Data.OleDb.OleDbCommand OleDBCmd;
    System.Data.OleDb.OleDbDataAdapter OleAdp;
    System.Data.DataSet Ds;
    System.Data.DataTable Dt;
    /// <summary>
    /// 构造连接对象
    /// </summary>
    /// <param name="sFileName">连接字符串</param>
    public ExcelDB(string sFileName)
    {
    try
    {
    string STemp="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+sFileName+";Extended Properties=Excel 8.0;";
    System.Console.WriteLine (STemp);
    OleDBCn=new System.Data.OleDb.OleDbConnection (STemp);
    OleDBCmd=new System.Data.OleDb.OleDbCommand ();
    OleAdp=new System.Data.OleDb.OleDbDataAdapter();
    Ds=new DataSet ();
    Dt=new System.Data.DataTable  ();
    }
    catch(Exception ex)
    {
    Eric.Common.YHJMessage.ErrorMsg(ex.Source+ex.Message );
    }
    } public bool insertSql(string StrSql)
    {
    try
    {
    OleDBCn.Open ();
    OleDBCmd.Connection =OleDBCn;
    OleDBCmd.CommandText =StrSql;
    OleDBCmd.ExecuteNonQuery();
    return true;
    }
    catch (System.Data.OleDb.OleDbException e)
    {
    System.Console.WriteLine(e.Message );
    return false;
    }
    }
    public DataTable GetAll(string strSheet)
    {
    OleDBCn.Open();
    OleDBCmd.Connection =OleDBCn; OleDBCmd.CommandText ="Select * from ["+strSheet.Trim()+"$]";
    OleAdp.SelectCommand =OleDBCmd;
    try
    {
    OleAdp.Fill (Ds);
    Dt=Ds.Tables[0];
    OleDBCn.Close ();
    return Dt;

    }
    catch (System.Exception e)
    {
    Eric.Common.YHJMessage.ErrorMsg(e.Source+e.Message );
    OleDBCn.Close ();
    return null;
    }
    }
    }
    /// <summary>
    /// class ExcelDbTwo
    /// </summary>
    class ExcelDbTwo
    {
    System.Data.OleDb.OleDbConnection OleDBCn;
    System.Data.OleDb.OleDbCommand OleDBCmd;
    System.Data.OleDb.OleDbDataAdapter OleAdp;
    System.Data.DataSet Ds;
    System.Data.DataTable Dt;
    /// <summary>
    /// public ExcelDbTwo()
    /// </summary>
    public ExcelDbTwo()
    { }
    /// <summary>
    /// public DataTable GetDataTable(string fileDir)
    /// </summary>
    /// <param name="fileDir"></param>
    /// <returns></returns>
    public DataTable GetDataTable(string fileDir)
    {
    try
    {
    string _dbSource = "Provider=Microsoft.Jet.OLEDB.4.0;"
    + "Data Source=" + fileDir.Trim() 
    + ";Extended Properties=Excel 8.0"; string _sheetName = "[" + "sheet" + "$]"; //sql语句:
    string _sql = "select * from " + _sheetName;
    OleDBCn=new System.Data.OleDb.OleDbConnection (_sql);
    OleDBCmd=new System.Data.OleDb.OleDbCommand ();
    OleAdp=new System.Data.OleDb.OleDbDataAdapter();
    Ds=new DataSet ();
    Dt=new System.Data.DataTable  (); OleDBCn.Open ();
    OleDBCmd.Connection =OleDBCn;
    OleDBCmd.CommandText =_sheetName;
    OleDBCmd.ExecuteNonQuery(); try
    {
    OleAdp.Fill (Ds);
    Dt=Ds.Tables[0];
    OleDBCn.Close ();
    return Dt;

    }
    catch (System.Exception e)
    {
    Eric.Common.YHJMessage.ErrorMsg(e.Source+e.Message );
    OleDBCn.Close ();
    return null;
    }
    }
    catch{return null;}
    }
    }
    }
      

  5.   

    直接用COM互操作就行了呀,使用起来是一样的