Ole automation for Excel

20/05/2006 - 01:12 por Leo Lob | Informe spam
En Visual FoxPro esto anda perfectamente.

planilla=createobjetct("Excel.Application")
planilla.workbooks.add
planilla.visible=.t.

if planilla.cells(1, 2).value
planilla.cells(4, 5).value="Hola"
planilla.cells(4,5).font.bold=.t.
endif


Como hago lo mismo en C#???

Llegue hasta:

Excel.Application planilla = new Excel.ApplicationClass()
planilla.workbooks.add(type.missing)
planilla.visible=true

Pero aca empiezan los problemas:

planilla.cells[1, 2] no tiene ninguna propiedad.

Si esto es VBA, o sea, estoy accediendo al Excel, porque es distinto entre
VFP y C#?

Gracias.



Leo Lob
Director de operaciones
Logiciel soluciones informáticas
LeoLob@Logiciel.Com.Ar
www.logiciel.com.ar
 

Leer las respuestas

#1 Rick
06/06/2006 - 00:19 | Informe spam
es casi igual

Excel.Application ExcelObj = new Excel.Application();

// See if the Excel Application Object was successfully constructed

if (ExcelObj == null)

{

MessageBox.Show("ERROR: EXCEL couldn't be started!");

System.Windows.Forms.Application.Exit();

}

// Make the Application Visible

ExcelObj.Visible = true;

ExcelObj.UserControl = true;

Excel.Workbooks oBooks = ExcelObj.Workbooks;

object oOpt = System.Reflection.Missing.Value;

_Workbook workbook = oBooks.Add(XlWBATemplate.xlWBATWorksheet);

Sheets sheets = workbook.Worksheets;

_Worksheet worksheet = (_Worksheet)sheets.get_Item(1);

if (worksheet == null)

{

MessageBox.Show("ERROR: worksheet == null");

}


Range range1 = worksheet.get_Range("C1", Missing.Value);

if (range1 == null)

{

Console.WriteLine("ERROR: range == null");

}

((Range)worksheet.Cells[1, 5]).Value2 = "HOJA DEL DIA";

((Range)worksheet.Cells[1, 5]).Font.Bold = true;

((Range)worksheet.Cells[1, 5]).Font.Size = 16;



"Leo Lob" escribió en el mensaje
news:
En Visual FoxPro esto anda perfectamente.

planilla=createobjetct("Excel.Application")
planilla.workbooks.add
planilla.visible=.t.

if planilla.cells(1, 2).value
planilla.cells(4, 5).value="Hola"
planilla.cells(4,5).font.bold=.t.
endif


Como hago lo mismo en C#???

Llegue hasta:

Excel.Application planilla = new Excel.ApplicationClass()
planilla.workbooks.add(type.missing)
planilla.visible=true

Pero aca empiezan los problemas:

planilla.cells[1, 2] no tiene ninguna propiedad.

Si esto es VBA, o sea, estoy accediendo al Excel, porque es distinto entre
VFP y C#?

Gracias.



Leo Lob
Director de operaciones
Logiciel soluciones informáticas

www.logiciel.com.ar


Preguntas similares