当前位置:编程学习 > C#/ASP.NET >>

C#后期绑定问题

        private void button3_Click(object sender, EventArgs e)
        {
           
            object comObject;
            System.Type comObjectName;

            //要获取的类型的 ProgID。 
            string progID = "Execl.Application";

            //与指定 ProgID 关联的类型,即获取相应的Com对象
            comObjectName = System.Type.GetTypeFromProgID(progID);

            //创建Com的实例
            if (comObjectName == null)
            {
                    MessageBox.Show("PC hasn't install Excel,can't export to excel", "提示");
                    return;
                
            }

            comObject = Activator.CreateInstance(comObjectName);

            object Missing = System.Reflection.Missing.Value;

            object objWorkbooks = null;
            object objWorkbook = null;
            object objWorkSheet = null;
            object objRange = null;
            object objRow = null;
            object[] parameters = null;
            try
            {

                objWorkbooks = comObjectName.InvokeMember("WorkBooks", System.Reflection.BindingFlags.GetProperty, null, comObject, null);

                parameters = new object[1];
                parameters[0] = "c:\\Book1.xls";
                objWorkbook = comObjectName.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, objWorkbooks, parameters);

                parameters = new object[1];
                parameters[0] = 1;
                objWorkSheet = comObjectName.InvokeMember("Worksheets", System.Reflection.BindingFlags.GetProperty, null, objWorkbook, parameters);

我怎么样才可以获取记录的行数,列数?

                parameters = new object[2];
                parameters[0] ="A1:G42";
                parameters[1] = System.Reflection.Missing.Value;

                objRange = comObjectName.InvokeMember("Range", System.Reflection.BindingFlags.GetProperty, null, objWorkSheet, parameters);
                

                parameters = new object[1];
                //parameters[0] = "Cells";
                //parameters[0] = "Rows";


                objRow = comObjectName.InvokeMember("Column", System.Reflection.BindingFlags.GetProperty, null, objRange, null);


                int intRowCount = 0;

                intRowCount = (int)objRow; ;

                MessageBox.Show("The row of recordset is " + intRowCount, "Information");



                            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                ReleaseComObject(objWorkbooks);
                ReleaseComObject(objWorkbook);
                ReleaseComObject(objWorkSheet);

                if (comObject != null)
                {
                    comObjectName.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, comObject, null);
                    ReleaseComObject(comObject);
                } 
                
                System.Runtime.InteropServices.Marshal.ReleaseComObject(comObject);
                comObject = null;

                 
            }
        } --------------------编程问答-------------------- 顶下。
补充:.NET技术 ,  非技术区
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,