EhLib.Com https://forum.ehlib.com/en/ |
|
How to Export MemTableEh to excel without DBGrid https://forum.ehlib.com/en/viewtopic.php?f=5&t=1217 |
Page 1 of 1 |
Author: | jsm [ 27 May 2023, 07:54 ] |
Post subject: | How to Export MemTableEh to excel without DBGrid |
Hi, please guide me |
Author: | EhLibSupport [ 02 Jun 2023, 19:54 ] |
Post subject: | Re: How to Export MemTableEh to excel without DBGrid |
Hello I can suggest two ways. 1. First way. Create a temporary grid for export. Code: procedure TForm1.Button1Click(Sender: TObject); var Grid: TDBGridEh; DS: TDataSource; Path: String; begin GetDir(0, Path); Path := Path + '\TestXlsFile.xlsx'; Grid := TDBGridEh.Create(nil); DS := TDataSource.Create(nil); Grid.DataSource := DS; DS.DataSet := MemTableEh1; ExportDBGridEhToXlsx(Grid, Path, nil); DS.Free; Grid.Free; ShellExecute(Application.Handle, 'Open', PChar(Path), nil, nil, SW_SHOWNORMAL) end; 2. The second way. Use the TXlsMemFileEh class. Code: procedure TForm1.Button2Click(Sender: TObject);
var xlsFile: TXlsMemFileEh; Path: String; Sheet: TXlsWorksheetEh; i, ci: Integer; begin GetDir(0, Path); Path := Path + '\TestXlsFile.xlsx'; xlsFile := TXlsMemFileEh.Create; Sheet := xlsFile.Workbook.Worksheets[0]; //Export Data rows i := 0; MemTableEh1.DisableControls; MemTableEh1.First; while not MemTableEh1.Eof do begin for ci := 0 to MemTableEh1.FieldCount - 1 do begin Sheet.Cells[ci, i].Value := MemTableEh1.Fields[ci].Value; end; i := i + 1; MemTableEh1.Next; end; MemTableEh1.First; MemTableEh1.EnableControls; xlsFile.SaveToFile(Path); xlsFile.Free; ShellExecute(Application.Handle, 'Open', PChar(Path), nil, nil, SW_SHOWNORMAL) end; |
Page 1 of 1 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |