Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2012, 16:48
Avatar de DeivisAndres
DeivisAndres
 
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Pregunta Problema en Generar/Crear un Archivo Excel a partir de una consulta Sql en Asp.Net C#

Hola a todos, pues esta vez vengo con un problema que no logro identificar y es que no me logra lsitar los datos de mi BD, para ver que puedo hacer en estos casos... el codigo que tengo es el siguiente y algunas imagenes:

Código Javascript:
Ver original
  1. protected void ibExcele_Click(object sender, ImageClickEventArgs e)
  2.         {                        
  3.             // Crear un objeto SqlConnection, y luego pasar la ConnectionString al constructor.            
  4.             SqlConnection Conection = new SqlConnection(CadenaString);
  5.  
  6.             // Utilizar una variable para almacenar la instrucción SQL.
  7.             string SelectString = "SELECT id_pregunta AS ID, descripcion AS Pregunta, opcion AS Opcion, COUNT(id_estudiante) AS Numero_Votos FROM respuestas_encuentas, preguntas WHERE respuestas_encuentas.id_pregunta = preguntas.id GROUP BY id_pregunta, opcion, descripcion";                        
  8.  
  9.             SqlDataAdapter Adaptador = new SqlDataAdapter(SelectString, Conection);
  10.  
  11.             DataSet DS = new DataSet();
  12.  
  13.             // Abrir la conexión.
  14.             Conection.Open();
  15.             Adaptador.Fill(DS);
  16.             Conection.Close();
  17.  
  18.             // Creamos un objeto Excel.
  19.             Excel.Application Mi_Excel = default(Excel.Application);
  20.             // Creamos un objeto WorkBook. Para crear el documento Excel.          
  21.             Excel.Workbook LibroExcel = default(Excel.Workbook);
  22.             // Creamos un objeto WorkSheet. Para crear la hoja del documento.
  23.             Excel.Worksheet HojaExcel = default(Excel.Worksheet);            
  24.  
  25.             // Iniciamos una instancia a Excel, y Hacemos visibles para ver como se va creando el reporte,
  26.             // podemos hacerlo visible al final si se desea.
  27.             Mi_Excel = new Excel.Application();
  28.             Mi_Excel.Visible = true;
  29.            
  30.             /* Ahora creamos un nuevo documento y seleccionamos la primera hoja del
  31.              * documento en la cual crearemos nuestro informe.
  32.              */
  33.             // Creamos una instancia del Workbooks de excel
  34.             // Creamos una instancia de la primera hoja de trabajo de excel            
  35.             LibroExcel = Mi_Excel.Workbooks.Add();
  36.             HojaExcel = LibroExcel.Worksheets[1];
  37.             HojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible;
  38.  
  39.             // Hacemos esta hoja la visible en pantalla
  40.             // (como seleccionamos la primera esto no es necesario
  41.             // si seleccionamos una diferente a la primera si lo
  42.             // necesitariamos).
  43.             HojaExcel.Activate();
  44.  
  45.             // Crear el encabezado de nuestro informe.
  46.             // La primera línea une las celdas y las convierte un en una sola.            
  47.             HojaExcel.Range["A1:D1"].Merge();
  48.             // La segunda línea Asigna el nombre del encabezado.
  49.             HojaExcel.Range["A1:D1"].Value = "FUNDACION UNIVERCITARIA TECNOLOGICO COMFENALCO";
  50.             // La tercera línea asigna negrita al titulo.
  51.             HojaExcel.Range["A1:D1"].Font.Bold = true;
  52.             // La cuarta línea signa un Size a titulo de 15.
  53.             HojaExcel.Range["A1:D1"].Font.Size = 15;
  54.  
  55.             // Crear el subencabezado de nuestro informe
  56.             HojaExcel.Range["A2:D2"].Merge();
  57.             HojaExcel.Range["A2:D2"].Value = "ENCUESTA DE SATISFACCIÓN AL CLIENTE EXTERNO";
  58.             HojaExcel.Range["A2:D2"].Font.Italic = true;
  59.             HojaExcel.Range["A2:D2"].Font.Size = 13;
  60.  
  61.             Excel.Range objCelda = HojaExcel.Range["A3", Type.Missing];
  62.             objCelda.Value = "ID";
  63.  
  64.             objCelda = HojaExcel.Range["B3", Type.Missing];
  65.             objCelda.Value = "Preguntas";
  66.  
  67.             objCelda = HojaExcel.Range["C3", Type.Missing];
  68.             objCelda.Value = "Opciones";
  69.  
  70.             objCelda = HojaExcel.Range["D3", Type.Missing];
  71.             objCelda.Value = "Numero Votos";
  72.             objCelda.EntireColumn.NumberFormat = "###,###,###.00";
  73.  
  74.             int i = 5;
  75.  
  76.             foreach (DataRow objRow in DS.Tables[0].Rows)
  77.             {
  78.                 // Asignar los valores de los registros a las celdas
  79.                 HojaExcel.Cells[i, "A"] = objRow.ItemArray[0];
  80.                 // ID'
  81.                 HojaExcel.Cells[i, "B"] = objRow.ItemArray[1];
  82.                 // Pregunta'
  83.                 HojaExcel.Cells[i, "C"] = objRow.ItemArray[2];
  84.                 // Opciones'
  85.                 HojaExcel.Cells[i, "D"] = objRow.ItemArray[3];
  86.                 // Numero Votos'
  87.  
  88.                 // Avanzamos una fila
  89.                 i += 1;
  90.             }
  91.  
  92.             // Seleccionar todo el bloque desde A1 hasta D #de filas.
  93.             Excel.Range Rango = HojaExcel.Range["A3:D" + (i - 1).ToString()];
  94.  
  95.             // Selecionado todo el rango especificado
  96.             Rango.Select();
  97.  
  98.             // Ajustamos el ancho de las columnas al ancho máximo del
  99.             // contenido de sus celdas
  100.             Rango.Columns.AutoFit();
  101.  
  102.             // Asignar filtro por columna
  103.             Rango.AutoFilter(1);           
  104.  
  105.             // Crear un total general
  106.             LibroExcel.PrintPreview();
  107.         }


------------------------


Y también, en la parte: HojaExcel.Activate(); se me sigue marcando de verde, pues no se si esta malo o que para ver si me puede ayudar...



Que puedo hacer frente a estos dos casos ?

Última edición por DeivisAndres; 03/10/2012 a las 08:33 Razón: Solucionado...