Autor
|
Thema: SchreibeExcelDatei (3855 mal gelesen)
|
CWs Mitglied
Beiträge: 20 Registriert: 03.04.2012
|
erstellt am: 11. Apr. 2012 12:35 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte eine ganze PS-Tabelle in eine Excel-Datei schreiben, die im selben Ordner wie das Simulationsmodell liegt. Gibt es eine Möglichkeit einen relativen Dateipfad zu nutzen? Eine absolute Adressierung der Excel-Datei ist nicht möglich, da das Modell auf verschiedenen Rechnern läuft. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DennisL Mitglied
Beiträge: 38 Registriert: 28.11.2011
|
erstellt am: 11. Apr. 2012 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für CWs
Hallo, ich hab mit Excel ne zeitlang nichts mehr gemacht, so dass ich neuere mögliche Lösungen nicht berücksichtigen kann. Vor einiger Zeit hatte ich aber das gleiche Problem. Ich habe es gelöst in dem ich ein Makro in Excel geschrieben habe, welches beim Start den absoluten Pfad von Excel verraten hat. Den habe ich dann in eine Variable in PS geschrieben. Wenn er den Excelnamen mit geschrieben haben sollte habe ich den string einfacht verkürzt. Folglich habe ich dann gesagt, dass er die Exceldatei unter dem Pfad in der Variable speichern soll. vlt hilfts ja. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 11. Apr. 2012 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für CWs
einfach den Dateinamen übergeben (ohne .xls), die Datei wird dann im selben Verzeichnis in der sich die Plant Simulation-Datei befindet, erzeugt Code:
tabelle.schreibeExcelDatei("dateiname");
Wenn Sie ein anderes Verzeichnis wollen, dann können Sie ein "Datei-öffnen" - Menü anzeigen lassen und dann die Excel-Datei erzeugen, wo Sie es brauchen: siehe Hilfe ---> selectFileForOpen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CWs Mitglied
Beiträge: 20 Registriert: 03.04.2012
|
erstellt am: 11. Apr. 2012 14:39 <-- editieren / zitieren --> Unities abgeben:
Dann wird allerdings eine neue Datei erzeugt mit unbekannter Dateiendung. Ich möchte allerdings in eine bestehendes Arbeitsblatt schreiben. Das funktioniert aber nicht. Wenn man die erzeugte Datei mit Excel öffnet, sind alle Daten korrekt übertragen worden. Code: Liste.schreibeExcelDatei("Exceldatei", "Arbeitsblatt2")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CWs Mitglied
Beiträge: 20 Registriert: 03.04.2012
|
erstellt am: 12. Apr. 2012 08:25 <-- editieren / zitieren --> Unities abgeben:
Ich habe das Problem gelöst. Manchmal hilfts eine Nacht drüber zu schlafen. Der Befehl an sich ist richtig, allerdings sollte man dabei beachten, dass Excel-Worksheets mit der Endung .xls nicht mehr als 256 Spalten beinhalten können. Bei .xlsx Dateien ist das kein Problem mehr. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NecDrop Mitglied Student
Beiträge: 43 Registriert: 22.08.2012 Plant Simulation 10.1
|
erstellt am: 30. Aug. 2012 12:03 <-- editieren / zitieren --> Unities abgeben: Nur für CWs
Hallo zusammen, ich habe folgende Code verwendet: <<Tabelle.schreibeExcelDatei("Dateiname.xls","Mappe1")>> Das Schreiben der .xls-Exceldatei klappt auch wunderbar. Wenn ich jetzt aber ".xls" in ".xlsx" umschreibe kann ich die Exceldatei nicht öffnen und Excel zeigt folgende Fehlermeldung an: <<Die Datei 'Dateiname.xlsx' kan von Excel nicht geöffnet werden, da das Dateiformat oder die Dateierweiterung ungültig ist. Überprüfen Sie, ob die Datei beshcädigt ist und ob die Dateierweiterung dem Dateiformat entspricht.>> Hat jemand von euch schonmal dieses Problem gehabt? Wenn ja, wie kann ich es beheben?
Ich verwendet Plant Simulation 9 und Microsoft Office Excel 2007. Viele Grüße Martin
P.S. Wenn ich allerdings andersherum aus einer .xlsx-Datei Daten in Plant importieren möchte (mit : leseExcelDatei) funktioniert es einwandfrei!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CWs Mitglied
Beiträge: 20 Registriert: 03.04.2012
|
erstellt am: 30. Aug. 2012 12:17 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich arbeite mit PS 8.2 und hatte vor einiger Zeit das gleiche Problem. Ich habe dann die Exceldatei einfach umbenannt. Ich benutze jetzt immer .xls + Makros. Damit hat es dann einigermaßen funktioniert. Allerdings kann ich dir nur davon abraten direkt in du Exceldatei zu schreiben, da diese Möglichkeit ziemlich unflexibel ist. Problematisch wird es vor allem, wenn mehrere Listen auf die gleiche Exceldatei zugreifen sollen. Besser ist es mittels Makro aus Excel eine Methode in PS aufzurufen, die eine Textdatei mit deinem Listeninhalt erstellt. Diese Textdatei kann man nun in Excel als externe Datenquelle einbinden. Damit umgeht man auch etwaige Kompatibilitätsprobleme und man hat in Excel die Möglichkeit Formatierung und co. selbst zu bestimmen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NecDrop Mitglied Student
Beiträge: 43 Registriert: 22.08.2012 Plant Simulation 10.1
|
erstellt am: 30. Aug. 2012 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für CWs
OK, danke für den Tipp! Bisher funktioniert die direkt-in-Excel-rein-Variante (noch). Wenn es da Probleme gibt, werd ich mir was anderes überlegen. Gibt es denn Einschränkungen von .xls gegenüber .xlsx? Du meintest ja schon, dass .xls nicht mehr als 256 Spalten beinhalten dürfen (s.o.). Gibt es sonst noch Einschränkungen? Vllt in Bezug auf die Dateigröße oder auf die Anzahl der beinhalteten Daten, oder ähnliches??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CWs Mitglied
Beiträge: 20 Registriert: 03.04.2012
|
erstellt am: 04. Sep. 2012 12:55 <-- editieren / zitieren --> Unities abgeben:
Ich habe bislang nur die 256 Spalten-Begrenzung herausgefunden. Wahrscheinlich bietet die .xlsx-Datei noch irgendwelche Besonderheiten, sonst hätte man das neue Format vermutlich nicht eingeführt. Die waren bislang aber irrelevant. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
NecDrop Mitglied Student
Beiträge: 43 Registriert: 22.08.2012 Plant Simulation 10.1
|
erstellt am: 04. Sep. 2012 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für CWs
|