日期:2011-11-16  浏览次数:20429 次

除了采用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;
    public  TestLateBound()
    {
        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());
    }
}