Chciałem się dowiedzieć, czy ktoś w jaki sposób mogę eksportować dane z DBGrid do Excela? Używam Delphi 7, Excel 2007 i ADO.
Każda pomoc zostanie doceniona.Eksportowanie danych z DBGrid do Excela
5
A
Odpowiedz
10
Jeśli chcesz szybki eksport danych surowych, po prostu wyeksportować rekordów (ADODataset.recordset) coś takiego:
procedure ExportRecordsetToMSExcel(DestName: string; Data: _Recordset);
var
ovExcelApp: OleVariant;
ovExcelWorkbook: OleVariant;
ovWS: OleVariant;
ovRange: OleVariant;
begin
ovExcelApp := CreateOleObject('Excel.Application'); //If Excel isnt installed will raise an exception
try
ovExcelWorkbook := ovExcelApp.WorkBooks.Add;
ovWS := ovExcelWorkbook.Worksheets.Item[1]; // go to first worksheet
ovWS.Activate;
ovWS.Select;
ovRange := ovWS.Range['A1', 'A1']; //go to first cell
ovRange.Resize[Data.RecordCount, Data.Fields.Count];
ovRange.CopyFromRecordset(Data, Data.RecordCount, Data.Fields.Count); //this copy the entire recordset to the selected range in excel
ovWS.SaveAs(DestName, 1, '', '', False, False);
finally
ovExcelWorkbook.Close(SaveChanges := False);
ovWS := Unassigned;
ovExcelWorkbook := Unassigned;
ovExcelApp := Unassigned;
end;
end;
+0
A jeśli chcemy eksportować ClientDataset do Excela, to co robimy? – Amin
+0
Jeśli nie masz zestawu rekordów, musisz powtórzyć swój zestaw danych i napisać excel dostęp do komórek. na przykład: ovWS.Cells [RowIndex, ColumnIndex] .Value: = Dataset.FieldByName ("foo"). AsString; –
Powiązane problemy
- 1. Eksportowanie SQL do Excela
- 2. Eksportowanie z SSRS do Excela bez nagłówków
- 3. C# (WinForms-App) eksportowanie zestawu danych do Excela
- 4. Eksportowanie tabel jsp do Excela, słowo, pdf
- 5. Delphi dbgrid ciągłe przewijanie
- 6. JavaScript - eksport danych tabeli HTML do Excela
- 7. Eksportowanie danych w rozruchu wiosennym
- 8. Eksportowanie i importowanie danych IndexedDB
- 9. Eksportowanie z zestawu danych do pliku rozdzielanego tabulatorami
- 10. Eksportowanie danych z Google Cloud Storage do Amazon S3
- 11. Eksportowanie danych z brakującymi wartościami do pliku CSV w Pandach
- 12. Wybierz wiersz po odświeżeniu DBGrid
- 13. Import danych CSV z serwisu WWW do Excela
- 14. Eksport z PHP do Excela
- 15. Eksportowanie danych CSV przy użyciu SQLCMD.EXE
- 16. Eksportowanie, dołączanie/przygotowywanie danych i tekst do plików (Mathematica)
- 17. Eksportowanie danych MYSQL do Excel/CSV za pomocą php
- 18. eksportowanie zainstalowanych wtyczek z zaćmienia do innego
- 19. Jak zaimportować plik Excela do bazy danych MySQL
- 20. problemy RadGrid Telerik z eksportu do Excela
- 21. Eksportuj zdenormalizowane dane z Excela do xml
- 22. Jak podłączyć MongoDB z Excela
- 23. Porządkowanie danych odczytanych z Excela na Pandy DataFrame
- 24. SQL DATETIME Wstaw z Excela?
- 25. Eksportuj tabelę HTML do Excela
- 26. Eksportowanie danych w Roxygen2, aby były dostępne bez konieczności danych()
- 27. Eksportowanie dziennika Subversion do CSV
- 28. Eksportowanie rekordów do arkusza kalkulacyjnego
- 29. Eksportuj odpowiedzi tkaniny do Excela
- 30. Eksportowanie tabeli z Amazon RDS do pliku csv
Nie wyeksportować DBGrid, wyeksportować zbiór danych http://stackoverflow.com/a/16642049/1699210 po prostu wypełnij arrData z podanego przykładu wartościami pola. – bummi
Ja też zamierzałem podać odniesienie, które dał Bummi. Aby użyć metody tablicy variant, musisz wiedzieć, ile wierszy masz w zapytaniu. W przeciwnym razie może być prostsze korzystanie z metody csv, którą podałem w tym pytaniu. –
@ No'amNewman w zależności od dat, w których metoda csv może przysporzyć więcej problemów w konwersjach, np. Wartości DateTime ... – bummi