示例#1
0
        public void procesar(SqlConnection conetos, string Sdiv)
        {
            Excel.Application ap    = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
            Workbook          wrk   = ap.ActiveWorkbook;
            Worksheet         wrksh = wrk.Sheets[1];

            System.Data.DataTable data = new System.Data.DataTable();
            string         sql         = "select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'SF_EmpIteracion3'";
            SqlDataAdapter datos       = new SqlDataAdapter(sql, conetos);

            datos.Fill(data);



            if (data.Rows.Count > 0)
            {
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    wrksh.Cells[1, i + 1] = data.Rows[i].ItemArray[0].ToString();
                }
                wrksh.Range["A1"].EntireRow.Font.Bold = true;
                wrksh.Range["A1"].EntireRow.Activate();
            }


            System.Data.DataTable data2 = new System.Data.DataTable();
            //string sql2 = "select * from SF_EmpIteracion3 where [SUBDIVISION] = '" + Sdiv + "'";
            string         sql2   = "select * from SF_EmpIteracion3";
            SqlDataAdapter datos2 = new SqlDataAdapter(sql2, conetos);

            datos2.Fill(data2);

            int           conta2        = data.Rows.Count * data2.Rows.Count;
            BarraProgreso barraProgreso = new BarraProgreso();

            barraProgreso.lblTexto.Text            = "Actualizando Catálogos....";
            barraProgreso.prbBarraProgreso.Maximum = conta2;
            barraProgreso.Show();

            if (data2.Rows.Count > 0)
            {
                int conta = 0;
                for (int j = 0; j < data.Rows.Count; j++)
                {
                    for (int i = 0; i < data2.Rows.Count; i++)
                    {
                        if (data2.Rows[i].ItemArray[j] != null)
                        {
                            wrksh.Cells[i + 2, j + 1] = data2.Rows[i].ItemArray[j].ToString();
                        }
                        barraProgreso.prbBarraProgreso.Increment(1);
                    }
                    conta = conta + data2.Rows.Count;
                    barraProgreso.lblTexto.Text = "Descargando reporte de empleados" + conta.ToString() + " de " + conta2.ToString() + "...";
                    barraProgreso.Refresh();
                }
                barraProgreso.Visible = false;
            }
            wrksh.Columns.AutoFit();
        }