Hola, acabo de crear una clase para crear a partir de uno (o varios) dataset un archivo en formato OpenDocument, especificamente .ods, para lo que yo lo necesito me va bien, lo dejo aquí porque creo que se le puede hacer varias mejoras, o en el mejor de los caso servir a alguién más...
Requiere del componente
abbrevia
ya que tiene mucho texto, dejo el archivo como un adjunto y aquí explico como lo uso.
Se puede implementar algo así como:
Código SQL
[-]
...
uses DataSetToOpenDocument;
...
...
procedure TForm1.Button1Click(Sender: TObject);
var
Ds2Ods : TDataSetToOpenDocument;
begin
if SaveDialog1.Execute then
begin
try
Ds2Ods := TDataSetToOpenDocument.Create(Self);
// dataSetAdd Agrega uno o Varios DataSet que se representan
// como una Hoja dentro del .ODS
// Si no envía un titulo para la hoja tomará el nombre del DataSet
Ds2Ods.dataSetAdd(TDataSet(IBTable1), '');
// envía un titulo para la hoja
Ds2Ods.dataSetAdd(TDataSet(IBTable2), 'TITULO_ENVIADO');
// Su nombre lo dice todo no
Ds2Ods.Ruta := SaveDialog1.FileName;
Ds2Ods.Ejecutar;
finally
Ds2Ods.Free;
end;
end;
end;