C#中怎样进行调用以及excel连接问题

    在C#中经常碰到不同窗体之间调用问题,在这里小节一下。

第一种方法:构造函数法

       比如说:想在子窗体中调用主窗体中的axMapControl.

       首先在主窗体中的通过this.axMapControl,挂接过去。其次在子窗体的构造函数中声明这一点。

        主窗体中:

       

excelToFeature form = new excelToFeature(this.axMapControl1);
            form.ShowDialog();

         子窗体中:

         

private AxMapControl MainAxMapControl;

public excelToFeature(AxMapControl pMapControl)
        {
            MainAxMapControl = pMapControl;
            InitializeComponent();
        }

第二种方法:通过hookHelper实现

          hookHelper方法比较繁琐,这里并不提倡。

//注意,第一种方法是调用过来的是AxMapControl对象,而第二种是IMap对象,两者有功能上的区别。

第三章种方法:建立全局静态变量

        public static a;   这个a在任何窗体中都可以进行调用

第四种方法:直接把private改成public   

             //注意,具体引用需求不同有不同的方法。



最近在做excel与C#的连接问题,出现了并非系统期望格式的报错,现将修改方案列如下。

若是excel2003版本,以.xls为后缀,应该为

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties=Excel 8.0;";

若是更高级的版本,以.xlsx为后缀,应该将Jet改为Ace,4.0改为12.0,  8.0改为12.0.




你可能感兴趣的:(AE,excel)