Excel-Export - AutoFit funktioniert nicht

30. August 2016 09:19

Hallo,

wenn ich eine Liste über dem RTC aufrufe, dann kann ich diese Liste in Excel exportieren.
Sofern der Export auf unserer Cloud oder auf einer virtuellen Maschine stattfindet, passen sich die Spaltenbreiten nicht richtig an. Es scheint, als werden lediglich die Überschriften zur Bestimmung der "optimalen" Spaltenbreite genutzt.

Über unsere Cloud werden Kundenpräsentationen veranstaltet und es ist wünschenswert, wenn hier alles reibungslos funktioniert. Die virtuelle Maschine ist uns egal, jedoch wollte ich es zusätzlich nennen. Es scheint, als käme das Problem, wenn Client und Server beide lokal liegen und von dort aus arbeiten.

Wie kann ich dies beheben? Siehe Screenshot.

Gruss
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Excel-Export - AutoFit funktioniert nicht

30. August 2016 11:00

Bei weiteren Versuchen wollen wir festgestellt haben, dass die Tabelle 370 - Excel Buffer gar nicht durchgelaufen wird.
Wenn wir sie komplett löschen und den Excel-Export dann ausführen, merken wir keinen Unterschied.

Gruss

Re: Excel-Export - AutoFit funktioniert nicht

30. August 2016 11:54

Entschuldigung, aber deine Herausforderung hat aus meiner Sicht nichts mit NAV zu tun.

DasChamaeleon hat geschrieben:ofern der Export auf unserer Cloud oder auf einer virtuellen Maschine stattfindet, passen sich die Spaltenbreiten nicht richtig an. Es scheint, als werden lediglich die Überschriften zur Bestimmung der "optimalen" Spaltenbreite genutzt.

?
DasChamaeleon hat geschrieben: Es scheint, als käme das Problem, wenn Client und Server beide lokal liegen und von dort aus arbeiten.


--> was denn nun, Cloud oder lokal....

DasChamaeleon hat geschrieben:Über unsere Cloud werden Kundenpräsentationen veranstaltet und es ist wünschenswert, wenn hier alles reibungslos funktionier


Der Export nach Excel funktioniert doch...wenn die Spalte zu klein ist, dann einfach fix doppelklick darauf und schon sollte es passen.

DasChamaeleon hat geschrieben:Wenn wir sie komplett löschen und den Excel-Export dann ausführen, merken wir keinen Unterschied.


Ihr habt also die Tabelle Excelbuffer gelöscht und gehofft, dass es dann zu einem Fehler kommt, wenn Ihr "Senden an Excel" wählt, oder wie kann ich das verstehen?
--> T370 hat mit "Senden an Excel" nichts zu tun, da greifen andere Mechaniken ---> kann aber jemand anderes sicherlich besser erklären, als ich.

Re: Excel-Export - AutoFit funktioniert nicht

30. August 2016 12:30

Hallo sweikel,

vielen Dank für Deine Antwort.

sweikelt hat geschrieben:
DasChamaeleon hat geschrieben:sofern der Export auf unserer Cloud oder auf einer virtuellen Maschine stattfindet, passen sich die Spaltenbreiten nicht richtig an. Es scheint, als werden lediglich die Überschriften zur Bestimmung der "optimalen" Spaltenbreite genutzt.

?


Es wird scheinbar keine AutoFit Funktion ausgeführt. Die Spaltenbreiten werden direkt von Excel den Tabellenüberschriften (wie im Screenshot) angepasst.
Wenn wir den RTC auf einem normalen Computer installieren und von dort aus auf einem Server (mit der Datenbank) zugreifen, funktioniert der AutoFit-Befehl scheinbar. Woher die Aktion "Senden an Excel" dies nimmt, wissen wir auch nicht.

sweikelt hat geschrieben:
DasChamaeleon hat geschrieben: Es scheint, als käme das Problem, wenn Client und Server beide lokal liegen und von dort aus arbeiten.


--> was denn nun, Cloud oder lokal....


Sowohl als auch.

sweikelt hat geschrieben:Ihr habt also die Tabelle Excelbuffer gelöscht und gehofft, dass es dann zu einem Fehler kommt, wenn Ihr "Senden an Excel" wählt, oder wie kann ich das verstehen?
--> T370 hat mit "Senden an Excel" nichts zu tun, da greifen andere Mechaniken ---> kann aber jemand anderes sicherlich besser erklären, als ich.


Genau, aufgrund der folgenden Zeilen
Zeile 778 // autofit all columns on all worksheets
Zeile 779 XlHelper.AutoFitColumnsInAllWorksheets(XlWrkBk);

haben wir gehofft, dass hier ein Lösungsansatz zu finden sei, scheinbar nicht.

sweikelt hat geschrieben:Der Export nach Excel funktioniert doch...wenn die Spalte zu klein ist, dann einfach fix doppelklick darauf und schon sollte es passen.


Das ist die zurzeit praktizierte 'Lösung' - das ist aber nicht unter Ziel. Beim Kunden soll das alles 'flüssig' ausschauen. Wenn der Kunde später am RTC arbeitet, funktioniert es ja auch.

sweikelt hat geschrieben:Entschuldigung, aber deine Herausforderung hat aus meiner Sicht nichts mit NAV zu tun.


Es verwirrt, dass es unter normalen Umständen alles funktioniert. Wenn du einen ExcelExport ausführst, sind die Spalten doch auch alle in einer 'schönen' Breite, oder nicht?
Es muss ja demnach irgendwie funktionieren. Auf unserer Cloud (dort läuft ein SQL-Server einerseits und der RTC ist auch installiert) funktioniert es so ebend nicht. Das gleiche Problem können wir auf unseren virtuellen Maschinen porvozieren, dort läuft auch der Server mit Datenbank lokal.
Im Stylesheet finden wir auch den AutoFit-Befehl an verschiedenen Stellen. Wir denken, dass NAV eine solche Funktion schon vorsieht (und, wie schon gesagt, auch normalerweise realisiert)

Alternativ können wir uns vorstellen, dass wir einen VBA-CODE hinterlegen, welcher aus dem Excel-Programm herraus ein AutoFit ausführt. Uns fehlt leider das Know-How, wie wir den VBA-Code der Excel-Tabelle übergeben können.
Der VBA-Code könnte zum Beispiel so aussehen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Tabelle1.Columns("A:Z").AutoFit

End Sub

Re: Excel-Export - AutoFit funktioniert nicht

30. August 2016 18:22

Das ist schon ein NAV Problem wenn das Autofit (optimale Spaltenbreite) nicht in allen Installationsvarianten funktioniert. Jedoch funktioniert das "Senden an Excel" nicht über die Tabelle Excel Buffer, daher bringt es auch nix dort zu suchen... Leider kann ich hier aber auch nicht weiterhelfen. Habt ihr das neuste CU installiert? Habt ihr das ggf. auch mal in einer anderen NAV Version getestet? Ansonsten klingt das für mich nach einem Microsoft Support Fall.

Re: Excel-Export - AutoFit funktioniert nicht

31. August 2016 10:49

Senden an Excel nutzt m.E. nicht die AutoFit, so wie es gewünscht ist - somit wieder von mir: kein NAV-problem

Re: Excel-Export - AutoFit funktioniert nicht

31. August 2016 17:37

Nun gut, dann wird die Antwort von Microsoft wohl lauten "it's not a bug, it's a feature". Da ich dieses "Senden an Excel" selten nutze war mir das nicht bewusst. Habe es gerade mal in NAV 2013 R2 getestet. NAV macht hier tatsächlich ein AutoFit auf Basis der Überschriftszeile, nicht aufgrund aller Werte in der jeweiligen Spalte. Das ist also wohl auch "schon immer" so gewesen.

Re: Excel-Export - AutoFit funktioniert nicht

31. August 2016 18:20

Hallo enh,

enh hat geschrieben:Habt ihr das neuste CU installiert? Habt ihr das ggf. auch mal in einer anderen NAV Version getestet?


Ja, vorhin ergänzend folgenden Test durchgeführt:
Von der VM aus auf einem nicht lokal angelegten Server zugegriffen. Excel-Export ausgeführt und das Problem bleibt bestehen.
Den gleichen Server haben wir vom Host-System aus angesteuert und der Excel-Export funktioniert wie gewünscht.

Daher gehen wir davon aus, dass es ein Clientlastiges Problem ist. Auch interessant (und ziemlich blöd) ist, dass es auch nicht an der (Client-)Version liegen kann, diese waren natürlich (um auf den gleichen Server zugreifen zu können) auch beide auf den gleichen Stand.
Direkt an Excel sollte es auch nicht liegen, sowohl Host-System als auch VM haben die gleiche Installatio mit identischer Version bekommen. Außerdem laufen auf der VM und der Cloud generell zwei unterschiedliche Versionen.

Zusätzlich auch stets mit einer Remote-Verbindung getestet, hier verhält es sich identisch wie zu dem Host-System.
Problem ist nach wie vor auf der Cloud und der VM zu begrenzen.

Unser nächster Versuch wird sich in der AppData Umgebung aufhalten. (C:\Users\Default\AppData) Hier liegen locale Konfigurationsdateien, welche verglichen werden können, das jedoch erst morgen. Bei Erfolg jubel ich auch hier einmal kräftig :) /Update: Nichts gebracht

Auch ungelöst: Wie exportiere ich einen kompletten VBA-Code in die gerade erzeugte Excel-Tabelle? Das ist zwar dann etwas geschummelt, hätte aber einen ähnlich guten Effekt. Das Standardformat (*xlsx) ist jedoch nicht zum Speichern von VBA-Code geeignet. Wir vermuten, dass es nur sinnvoll ist, wenn dies über das Stylesheet geschieht, weil es wohl nicht praktikabel ist, für ausnahmslos jede List-page eine neue Aktion zu implementieren, welche die vorhandene "Senden an Excel" ersetzt und den Shotcut übernimmt. Ist das überhaupt möglich, wenn nicht über das Stylesheet, dann vielleicht über einen anderen (unpraktischen) Weg? Ein sehr spezielles Problem, hier fehlt uns schlicht das KnowHow.

Gruss