除了采用TblImp导入Excel object库实现Excel的调用外. 其实还可以采用反射的方法获得属性,并进行后期绑定实现 Excel的调用.下面是简单的调用EXCEL程序.
using System; using System.Reflection; using System.Windows; using System.Windows.Forms;
class TestLateBound:System.Windows.Forms.Form { private Button myButton; publicTestLateBound() { myButton=new Button(); myButton.Text="调用EXCEL"; myButton.Location=new System.Drawing.Point(100,100); myButton.Click+=new System.EventHandler(TestBound);
this.Controls.Add(myButton); this.Text="测试后期绑定 Excel Application";
}
public void TestBound(object sender,System.EventArgs ef) { Type myExcel; myExcel=Type.GetTypeFromProgID("Excel.Application");
object objExcel; objExcel=Activator.CreateInstance(myExcel);
object[] param=new object[1]; param[0]=true; try { myExcel.InvokeMember("Visible",BindingFlags.SetProperty,null,objExcel,param);//和VC++中差不多,需要将参数封装为数组传入 } catch (Exception e) { MessageBox.Show (e.ToString()); }
} public static void Main() { Application.Run(new TestLateBound()); } }
|