PDA

Ver la Versión Completa : Manipular las funciones de Excel desde Delphi5


vick
24-10-2005, 20:39:59
QUE TAL

Actualmente uso un objeto OLE para realizar la exportación de una tabla a excel, pero no se como hacer para manipular las funciones de excel, en particular la de suma (=SUMA(B1:B10)). esto lo requiero para realizar la suma de una columna, pero establecerlo desde delphi, sin necesidad de que lo haga manualmente el usuario desde delphi5.

si alguien puede ayudarme o conoce un método para hacerlo agradecería su atenta ayuda

DE ANTEMANO GRACIAS

jachguate
24-10-2005, 20:44:21
Hasta donde recuerdo, las celdas y los rangos tienen una propiedad llamada FormulaR1C1, donde asignas el texto de la formula tal como se haría en excel y listo!

Supongo, eso si, que hay que tener en cuenta el idioma de la interfaz, pues si el excel está en ingles, la función "suma" dará un error, pues en esa lengua se llama "sum".

Saludos.

;)

vick
25-10-2005, 20:58:48
QUE TAL, DE NUEVO YO :confused:

Con respecto al hilo que envie ayer y que muy amablemente me contestaron
con respecto a la manipulación de funciones de excel desde delphi. me
comentaron y recomendaron usar la propiedad FormuaR1C1, la probe, el problema
es que no sé exactamente cómo usarla, ya que la usaba de la siguiente
forma:

WS_3.Cells.Item[10,2].FormulaR1C1:='=Suma(B2:B8)';
donde WS_3 es de tipo objeto ExcelWorkSheet

si corre y mantiene el dato, el problema es que no realiza el cálculo debido
a que en Excel, la descripción de la función aparece como

=Suma('B2':'B8')

y debido a las apóstrofes, me da como resultado #¿NOMBRE?

una vez que quito las apóstrofes, la función o fórmula se calcula correctamente

Mi pregunta es ¿ Alguien sabe que estoy haciendo mal o porque no se calcula correctamente o lagun otro método para hacerlo?

DE ANTEMANO ¡SALUDOS GRACIAS!

roman
26-10-2005, 04:01:09
Intenta poner



Cells.Item[10,2] := '=SUM(B2:B8)';


Es decir, sin el FormulaR1C1 y usando el término en inglés SUM en lugar de en español SUMA.

// Saludos