[Lazarus-es] Exportar a cal de libreoffice

Ismael L. Donis Garcia slibre en natio.co.cu
Vie Abr 7 14:04:29 CEST 2017


Tengo un procedimiento realizado para exportar a excel usando ComObj

Quiero hacer lo mismo para exportarlo a hojas de calculo de libreoffice y no he encontrado como hacerlo.
Alguien de la lista ya ha hecho esto o me podría orientar algún link de donde obtener información al respecto?

El procedimiento para exportar a excel es el que sigue: (ese mismo lo quiero hacer para libreoffice cal)


procedure Tflest.crearxls(sname: string);
const
  xlCenter = -4108;
var
  Excel, WorkBook, WorkSheet, Range: Variant;
  k: integer;
  scap: string;
begin
  scap:='Capítulo';
  Excel:=CreateOleObject('Excel.Application');
  Excel.visible:=false;
  Excel.IgnoreRemoteRequests:=true;
  if fileexists(sname) then
   WorkBook := Excel.Workbooks.Open(WideString(sname))
  else
   WorkBook := Excel.Workbooks.Add(-4167);
  WorkSheet := WorkBook.WorkSheets[1];
  WorkSheet.Cells.Clear;
  WorkSheet.Name := WideString(sentidad);
  WorkSheet.Cells[1, 1] := 'Entidad:';
  WorkSheet.Cells[1, 2] := WideString(sentidad);
  WorkSheet.Cells[2, 1] := 'Fecha:';
  WorkSheet.Cells[2, 2] := WideString(txtfecha.Text);
  WorkSheet.Cells[3, 1] := 'Cuenta';
  WorkSheet.Cells[3, 2] := 'SubCta';
  WorkSheet.Cells[3, 3] := WideString(scap);
  WorkSheet.Cells[3, 4] := 'SubCap';
  WorkSheet.Cells[3, 5] := 'Elemento';
  WorkSheet.Cells[3, 6] := 'Empresa';
  WorkSheet.Cells[3, 7] := 'Anterior';
  WorkSheet.Cells[3, 8] := 'Debe';
  WorkSheet.Cells[3, 9] := 'Haber';
  WorkSheet.Cells[3, 10] := 'Saldo';
  Range := WorkSheet.Range['A1:J3'];
  Range.Font.Bold := true;
  Range.HorizontalAlignment:=xlCenter;
  Range := WorkSheet.Range['A1:B2'];
  Range.Borders.Color := clRed;
  Range := WorkSheet.Range['A3:J3'];
  Range.Borders.Color := clRed;
  k:=4;
  while not dm.rssc6.EOF do begin
    WorkSheet.Cells.Item[k, 1].Value := dm.rssc6.FieldByName('cuenta').AsInteger;
    WorkSheet.Cells.Item[k, 2].Value := WideString(dm.rssc6.FieldByName('subcta').AsString);
    WorkSheet.Cells.Item[k, 3].Value := WideString(dm.rssc6.FieldByName('capitulo').AsString);
    WorkSheet.Cells.Item[k, 4].Value := WideString(dm.rssc6.FieldByName('subcap').AsString);
    WorkSheet.Cells.Item[k, 5].Value := WideString(dm.rssc6.FieldByName('elemento').AsString);
    WorkSheet.Cells.Item[k, 6].Value := WideString(dm.rssc6.FieldByName('empresa').AsString);
    WorkSheet.Cells.Item[k, 7].Value := dm.rssc6.FieldByName('antdebe').AsFloat;
    WorkSheet.Cells.Item[k, 8].Value := dm.rssc6.FieldByName('debe').AsFloat;
    WorkSheet.Cells.Item[k, 9].Value := dm.rssc6.FieldByName('haber').AsFloat;
    WorkSheet.Cells.Item[k, 10].Value := dm.rssc6.FieldByName('saldo').AsFloat;
    inc(k);
    dm.rssc6.Next;
  end;
  if fileexists(sname) then
   WorkBook.Save
  else
    WorkBook.SaveAs(WideString(sname));
  Excel.IgnoreRemoteRequests:=false;
  Excel.Workbooks(1).Close(false);
  Excel.Quit;
end;

Saludos
========
| ISMAEL |
========
WebSite: sisconge.byethost15.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170407/79222e52/attachment.html>


Más información sobre la lista de distribución Lazarus-es