Casi terminado!!


Ya casi termino este proyecto, ahora solo estoy agregando unas validaciones del usuario y algunas opciones extra, como por ejemplo, guardar los cambios, cargar las opciones guardadas, los resultados los estoy grabando en unas hojas de excel, cada nuevo query se agrega a una hoja nueva, a continuacion esta el codigo para agregar la nueva hoja de excel:
 

public string ExcelTable

{

set

{

Microsoft.Office.Interop.Owc11.

Worksheet sheet2;

//como la primera hoja d eexcel ya existe ya no la tengo q agregar

if (!firstsheet)

{

//tengo q agregar una nueva hoja al final de workbook

sheet2 = (Microsoft.Office.Interop.Owc11.Worksheet)axSpreadsheet1.ActiveWorkbook.Worksheets.Add(System.Reflection.Missing.Value, axSpreadsheet1.ActiveWorkbook.Worksheets.Count, System.Reflection.Missing.Value, System.Reflection.Missing.Value);

int j = 1;

bool exists;

do

{

//esta variable me va a indicar cuando el nombre de la nueva hoja exista o no exista

exists =

false;

//checo el nombre de todas las hojas q estan en el workbook

for (int c = 1; c <= axSpreadsheet1.ActiveWorkbook.Worksheets.Count; c++)

{ //le asigno el valor de la comparacion del nombre con el nuevo nombre q pretendo ponerle a la nueva hoja

exists = (((Microsoft.Office.Interop.Owc11.

Worksheet)axSpreadsheet1.ActiveWorkbook.Worksheets[c]).Name == "Sheet" + j.ToString());

//si existe ese nombre rompo el ciclo e intento con un nuevo nombre

if (exists)

break;

}

j++;

//el ciclo continua hasta q puedo encontrar un nombre q no exista

}

while (exists);

//le asigno el nombre

((Microsoft.Office.Interop.Owc11.

Worksheet)axSpreadsheet1.ActiveWorkbook.Worksheets[axSpreadsheet1.ActiveWorkbook.Worksheets.Count]).Name = "Sheet" + (–j).ToString();

}

//una vez teniendo el nombre la asigno los valores q habia pasado como parametro

((Microsoft.Office.Interop.Owc11.

Worksheet)axSpreadsheet1.ActiveWorkbook.Worksheets[axSpreadsheet1.ActiveWorkbook.Worksheets.Count]).Rows.ParseText(value, ",", false, "");

this.firstsheet = false;

this.SetRangecolor();

}

}

//funcion para cambiar el estilo des la celdas 

public void SetRangecolor()

{

axSpreadsheet1.ActiveSheet.get_Range(axSpreadsheet1.Cells[1, 1], axSpreadsheet1.Cells[1, 50]).Font.set_Bold(

true);

axSpreadsheet1.ActiveSheet.Columns.AutoFit();

}

 

 

Estare poniendo mas codigo para manejar este componente de office, ya q yo he buscado en internet y casi no hay informacion, asi alguien podra usar este codigo como ayuda…

 

Por cierto ya son 2200 lineas de codigo, escritas a mano, es decir sin contar las q se agregan en modo de diseño.

 

 

 

Advertisements