Winform C#如何通过OLE技术访问Excel对象??? 你可以在VS.net 2003的联机帮助找一下,好像有哦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vb里 有些东西在c#里面 暂时没有等价物 如activex等 你要调用excel 可以 用 数据库联接的方法连 excel 如何在form上嵌入一个excel对象呢? 如何在form上嵌入一个excel对象呢?比如嵌入excel文件中的图表? 不要忘记给分呀,还有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;} } }} 直接用COM互操作就行了呀,使用起来是一样的 字符串操作 c#处理XML、KML的问题 求助金币转换问题 从数据库读到数据后如何放入实体类好?! 问一个可能你们觉得非常简单,而我却没有接触过的问题 NET(C#)MSN技术在线交流群今天成立了 小小问题:如何在form界面上放个浏览器? IPAddress问题(帮帮我吧谢谢) 怎样才能用收到byte[]数组添充类字段 c#中如何将string转化为int呀? 请问一个简单的问题。。。 .ascx问题
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;}
}
}
}