PDA

Ver la Versión Completa : Problema Automatizar Calc de Open Office con Delphi


ELANDETA
20-05-2014, 23:52:01
Buenas a todos,

Hace dias me asignaron pasar una consulta de una tabla a una hoja de Calc ya con un formato previo, logre insertar los valores
pero ahora me doy cuenta que en los campos Numeros y Fecha se le esta colocando una comilla Simple Delante lo cual no deja aplicar el formato.

Necesito su ayuda ya que es una consulta de mas de 5000 registro y no me imagino tener que quitar esas comillas de forma manual. Solo Imaginense es un archivo que hay que generarlo dos o tres veces por Semana si le digo eso al usuario final de que tendra que quitar esa comilla, !!Seguro me coje Odio a Muerte!!!!

aqui le muestro un Fragmento del Codigo
===================================================================
procedure TdmOpenOffice.abrirArchivo(nombreArchivo: string; visualizar: Boolean);
Var
Url: string;
ooParams: variant;
begin
ooParams := VarArrayCreate([0, 0], varVariant);
ooParams[0] := ooCreateValue('Hidden', Not visualizar); // çç not Visible);
Url := 'file:///' + extractFilePath(nombreArchivo) + Copy(nombreArchivo, LastDelimiter('\', nombreArchivo )+1, Length(nombreArchivo));;
Documento := Escritorio.loadComponentFromURL(Url, '_blank', 0, ooParams);
Hoja := Documento.getSheets.getByIndex(0);
end;



Procedure TdmOpenOffice.escribirEnCelda(celda: string; Valor: Variant);
Var
oCelda : Variant;
begin
oCelda:= Hoja.getCellRangeByName(celda);
oCelda.setString(VarToStr(valor)); //Insertamos un texto
end;


Espero que alguien pueda ayudarme con este Problemita. Desde ya Mucha Gracias..

Casimiro Notevi
21-05-2014, 10:02:35
Recuerda poner los tags al código fuente, ejemplo:

http://www.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)

slimshdy
11-06-2015, 12:20:37
Las celdas tienen tres atributos que puedes usar, String, Value y Formula.

Si pones una fecha o numero usando el atributo String, le pondra comilla simple delante, en ese caso debes usar Value.
para el texto debes usar String, si no peta, al menos a mi en .Net me pasa así. Tendrás que hacer el esfuerzo de identificar el tipo de dato de cada columna que vayas a volcar en un calc