Export eines Labels (.lbl) nach Excel

Hallo zusammen,

ich habe ein Problem mit dem Export nach Excel, wenn ich keine Tabelle verwende.

Wir verwenden das API-Interface unter VB6 und Windows 10. Solange ich eine lst-Projektdatei verwende funktioniert der Export wie gewünscht. Aber mit einer lbl-Projektdatei erfolgt die Ausgabe immer auf dem Drucker.

Beim Auslesen der möglichen Export-Formate wird XLS auch mit aufgeführt:

<LlGetOptionString() → 0 (00000000) [‘PRN;PRV;FILE;MSFAX;PRES;DOCX;HTML;HTML5;JQM;JSON;MHTML;PDF;PICTURE_BMP;PICTURE_EMF;PICTURE_JPEG;PICTURE_MULTITIFF;PICTURE_PNG;PICTURE_TIFF;PPTX;RTF;SVG;TTY;TXT;TXT_LAYOUT;XHTML;XLS;XML’]

Das Setzen der ersten Optionen funktioniert auch noch:
>LlXSetParameter(1,0x00000001,‘XLS’,‘Export.XLS.FileFormat’,‘0’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘Export.OnlyTableData’,‘0’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘XLS.IgnoreHeaderFooterLines’,‘0’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘XLS.IgnoreGroupLines’,‘0’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘XLS.IgnoreLinewrapForDataOnlyExport’,‘0’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘Resolution’,‘300’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘Picture.BitsPerPixel’,‘8’)
<LlXSetParameter() → 0 (00000000)

An dieser Stelle gibt es bei lbl-Projekten eine Fehler (auch wenn Export.XLS.FileFormat auf 1 oder 2 gesetzt wird):
>LlPrintSetOptionString(1,2:LL_PRNOPTSTR_EXPORT,‘XLS’)
<LlPrintSetOptionString() → -47 (FFFFFFD1) (List & Label hat kein gültiges Ausgabemedium beim Start des Drucks. Eventuell ist das gewählte Exportformat deaktiviert oder nicht verfügbar.)

Die weiteren Optionen werden anscheinend wieder akzeptiert:
>LlXSetParameter(1,0x00000001,‘XLS’,‘Export.File’,‘711460.XLSX’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘Export.Path’,'C:\TEMP')
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘Export.Quiet’,‘1’)
<LlXSetParameter() → 0 (00000000)
>LlXSetParameter(1,0x00000001,‘XLS’,‘Export.ShowResult’,‘1’)
<LlXSetParameter() → 0 (00000000)

Es wird aber auf den Standarddrucker gedruckt.

Funktioniert der Excel-Export nur für Listen, oder was mache ich hier falsch?

Schon vorab vielen Dank für hilfreiche Hinweise!

Gruß
Jörg Wendisch

Könntest du mal das volle Log hier anhängen? An sich klappt ein Excel-Export auch mit Etiketten:

Insofern muss das was Spezielleres sein…

Ich habe das Etikett mit einem “leeren” Datensatz erzeugt, was beim Kunden durchaus vorkommt, wenn die Folie noch nicht in den Stammdaten angelegt wurde.
Weiterhin habe ich im Log-File die richtige IP-Adresse durch 000.000.000.000 ersetzt, und den Namen des Print-Servers durch PrintServer ersetzt.

Übrigens bekomme ich bei einem PDF-Export das gleiche Problem. Insofern scheint es fast, das wir bei einem Export von .lbl einen grundsätzlichen Fehler haben, der bei .lst keine Auswirkung hat.

1 Like

LblNeueFolie.log4 (335.6 KB)

Wenn ich es aus dem Log richtig sehe ruft ihr LlPrintWithBoxStart mit LL_PRINT_NORMAL auf, das ist der Druck auf Drucker (im 4. Parameter). Kannst du mal versuchen, da LL_PRINT_EXPORT (0x800) zu verwenden?

Das hat geholfen.

Vielen Dank für die schnelle Hilfe!

1 Like