Excel-Format beim Datenexport [erledigt]

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 517
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Excel-Format beim Datenexport [erledigt]

Beitrag von peternmb »

Hallo,

bisher erstelle ich für den Datenexport eine Datei im Excel 97-2003-Format (Endung xls).
Kann ich diese Datei ohne größere Codeänderungen auch im neueren xlsx-Format erstellen?

Mein Standard-Code sieht bisher etwa so aus:

Code: Alles auswählen

LOCAL oExcel, oBook, xls_datei
//
xls_datei:=XbpFileDialog():new():create():saveas(Hauptpfad+"\Export\TEST.xls")   
//
if !empty(xls_datei)
   oExcel := CreateObject("Excel.Application")
   IF Empty( oExcel )
     MsgBox( "Um diese Funktion zu nutzen muss auf Ihrem Rechner Excel installiert sein!","Problem" )
     RETURN
   ENDIF
   //
   oExcel:DisplayAlerts := .F.
   oExcel:visible       := .F.
   oBook  := oExcel:workbooks:Open(Hauptpfad+"\Daten\TEST.dbf")
   //
   oSheet := oBook:ActiveSheet
   oSheet:columns(5):autoFit()
   oSheet:columns(6):autoFit()
   //
   oBook:SaveAs( xls_datei , xlWorkbookNormal )
   //
else
Zuletzt geändert von peternmb am Fr, 19. Nov 2021 14:01, insgesamt 1-mal geändert.
Benutzeravatar
Marcus Herz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 494
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 18 Mal
Danksagung erhalten: 76 Mal
Kontaktdaten:

Re: Excel-Format beim Datenexport

Beitrag von Marcus Herz »

Der Parameter beim saveas bestimmt das format. Musst googeln, hab das erst morgen zur hand
Gruß Marcus

Es gibt keine Grenzen, aber du kannst welche ziehen.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 926
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 13 Mal
Danksagung erhalten: 6 Mal

Re: Excel-Format beim Datenexport

Beitrag von HaPe »

Code: Alles auswählen

*-- XlFileFormat
#DEFINE xlSYLK                                                                 2
#DEFINE xlWKS                                                                  4
#DEFINE xlWK1                                                                  5
#DEFINE xlCSV                                                                  6
#DEFINE xlDBF2                                                                 7
#DEFINE xlDBF3                                                                 8
#DEFINE xlDIF                                                                  9
#DEFINE xlCurrentPlatformText                                                  0xFFFFEFC2
#DEFINE xlWorkbookNormal                                                       0xFFFFEFD1
#DEFINE xlDBF4                                                                 11
#DEFINE xlWJ2WD1                                                               14
#DEFINE xlWK3                                                                  15
#DEFINE xlExcel2                                                               16
#DEFINE xlTemplate                                                             17
#DEFINE xlAddIn                                                                18
#DEFINE xlTextMac                                                              19
#DEFINE xlTextWindows                                                          20
#DEFINE xlTextMSDOS                                                            21
#DEFINE xlCSVMac                                                               22
#DEFINE xlCSVWindows                                                           23
#DEFINE xlCSVMSDOS                                                             24
#DEFINE xlIntlMacro                                                            25
#DEFINE xlIntlAddIn                                                            26
#DEFINE xlExcel2FarEast                                                        27
#DEFINE xlWorks2FarEast                                                        28
#DEFINE xlExcel3                                                               29
#DEFINE xlWK1FMT                                                               30
#DEFINE xlWK1ALL                                                               31
#DEFINE xlWK3FM3                                                               32
#DEFINE xlExcel4                                                               33
#DEFINE xlWQ1                                                                  34
#DEFINE xlExcel4Workbook                                                       35
#DEFINE xlTextPrinter                                                          36
#DEFINE xlWK4                                                                  38
#DEFINE xlExcel5                                                               39
#DEFINE xlExcel7                                                               39
#DEFINE xlWJ3                                                                  40
#DEFINE xlWJ3FJ3                                                               41
#DEFINE xlExcel9795                                                            43
#DEFINE xlHtml                                                                 44
#DEFINE xlWebArchive                                                           45
#DEFINE xlXMLSpreadsheet                                                       46
#DEFINE xlExcel12                                                              50
#DEFINE xlOpenXMLWorkbook                                                      51
#DEFINE xlWorkbookDefault                                                      51
#DEFINE xlOpenXMLWorkbookMacroEnabled                                          52
#DEFINE xlOpenXMLTemplateMacroEnabled                                          53
#DEFINE xlOpenXMLTemplate                                                      54
#DEFINE xlOpenXMLAddIn                                                         55
#DEFINE xlExcel8                                                               56
#DEFINE xlOpenDocumentSpreadsheet                                              60
--
Hans-Peter

Organisator der XUG Stuttgart
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 204
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: Excel-Format beim Datenexport

Beitrag von BJelinek »

Hallo
ich mach das so.

Code: Alles auswählen

//
if BFBExcelVersion(oExcel) >= 2010
  oBook:SaveAs(cXLSDatei+"x",xlOpenXMLWorkbook)
else
  oBook:SaveAs(cXLSDatei,xlWorkbookNormal)
endif
//




FUNC BFBExcelVersion(oExcel)
local nVersion := 0
local XX
XX := oExcel:Application:Version()
if valtype(XX) = "C"
 XX := VAL(XX)
endif
if     XX = 8  ; nVersion := 97
elseif XX = 9  ; nVersion := 2000
elseif XX = 10 ; nVersion := 2002
elseif XX = 11 ; nVersion := 2003
elseif XX = 12 ; nVersion := 2007
elseif XX = 14 ; nVersion := 2010
elseif XX = 15 ; nVersion := 2013
elseif XX = 16 ; nVersion := 2016
elseif XX > 16 ; nVersion := 2999
endif
return nVersion

Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 517
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Excel-Format beim Datenexport

Beitrag von peternmb »

Vielen Dank, funktioniert prima mit sehr wenig Aufwand :razz:
Antworten