Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Lieferliste mit Excel erstellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Lieferliste mit Excel erstellen (4015 mal gelesen)
NecDrop
Mitglied
Student


Sehen Sie sich das Profil von NecDrop an!   Senden Sie eine Private Message an NecDrop  Schreiben Sie einen Gästebucheintrag für NecDrop

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 11. Okt. 2012 17:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Excel-Datei.PNG

 
Hallo zusammen,

ich möchte Daten aus einer Excel-Datei in eine Lieferliste schreiben.

Die Spalten der Excel-Tabelle sind gemäß der Lieferliste nach Lieferzeit, BE, Anzahl, Name und Attribut formatiert (siehe Anhang).

Wenn ich nun mit der init-Methode:

     is
     do
         Lieferliste.leseExcelDatei("Test.xlsx","Lieferliste")
     end;


die Lieferliste in Plant ausfüllen möchte, bleiben die Zeilen in der Spalte "BE" unausgefüllt. Anscheinend erkennt Plant aus der Excel-Datei nicht, dass es sich beim Inhalt der BE-Spalte in der Excel-Tabelle um objects handelt.

Nun kann man es wie folgt lösen, indem man vor dem Auslösen von "init" zunächst in Plant in der Lieferliste das Format "object" manuell auf "string" ändert, dann die init-Methode ausführt (die Excel-Daten werden nun vollständig in Plant eingelesen) und dann den "string" wieder zurück in "object" formatiert.

Aber gibt es noch einen anderen Weg ohne jedes Mal das Format manuell umstellen zu müssen? Muss ich in Excel in der Spalte BE das Zahlenformat (Standart, Text, ...) ändern? Wenn ja, wie muss es formatiert sein?

Schöne Grüße
NecDrop

[Diese Nachricht wurde von NecDrop am 11. Okt. 2012 editiert.]

[Diese Nachricht wurde von NecDrop am 11. Okt. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 12. Okt. 2012 09:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für NecDrop 10 Unities + Antwort hilfreich

Ich würde nicht direkt in die Lieferliste importieren, sondern in eine "Zwischentabelle". Von der können Sie dann die Werte einzeln im richtigen Format (str_to_... Methoden) in die Lieferliste eintragen.

Das Format object bekommen Sie auf keinen Fall direkt von Excel nach Plant Simulation.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

NecDrop
Mitglied
Student


Sehen Sie sich das Profil von NecDrop an!   Senden Sie eine Private Message an NecDrop  Schreiben Sie einen Gästebucheintrag für NecDrop

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 12. Okt. 2012 13:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wie lautet denn der Befehl, mit dem ich den Inhalt einer ganzen Spalte in die gleiche Spalte einer anderen Tabelle übertragen kann.

Habs bisher wie in der Plant Simulation Beschreibung mit

{1,1}..{1,0} -- bezeichnet die gesamte erste Spalte

versucht.

Also wie folgt:

    is
    do
          Lieferliste({1,1}..{1,0}):=Zwischentabelle({1,1}..{1,0});
    end

Aber er sagt mir, dass ich einen Syntaxfehler bei <"{1,1}..{1,0}"> habe.


Mit:

     is
     do
          Lieferliste[1,*]:=Zwischentabelle[1,*];
     end;

erhalte ich ebenfalls eine Synthaxfehlermeldung bei <*>.


Und wie kann ich dann noch das str_to_object einarbeiten? Geht es wie folgt?

    is
    do
          Lieferliste(str_to_object{1,1}..{1,0}):=Zwischentabelle({1,1}..{1,0});
    end

[Diese Nachricht wurde von NecDrop am 12. Okt. 2012 editiert.]

[Diese Nachricht wurde von NecDrop am 12. Okt. 2012 editiert.]

[Diese Nachricht wurde von NecDrop am 12. Okt. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 12. Okt. 2012 22:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für NecDrop 10 Unities + Antwort hilfreich

Versuchen Sie es mit dem Befehl:
<table>.kopiereBereichNach... (siehe Hilfe)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

NecDrop
Mitglied
Student


Sehen Sie sich das Profil von NecDrop an!   Senden Sie eine Private Message an NecDrop  Schreiben Sie einen Gästebucheintrag für NecDrop

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 13. Okt. 2012 11:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super! Vielen Dank schonmal  Mit dem Befehl kann ich jetzt alle Zeilen der jeweiligen Spalten auslesen.

Aber das "str_to_object" konnte ich bisher noch nicht verarbeiten.Habs schon in den diversen Varianten versucht einzubauen:

str_to_object.Zwischentabelle.kopiereBereichNach({3,*}, Lieferliste, 3,0);
Zwischentabelle.str_to_object.kopiereBereichNach({3,*}, Lieferliste, 3,0);
Zwischentabelle.kopiereBereichNach(str_to_object.{3,*}, Lieferliste, 3,0);
Zwischentabelle.kopiereBereichNach({3,*}, str_to_object.Lieferliste, 3,0);
...

Wie lautet denn die korrekte SimTalk dazu?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 13. Okt. 2012 13:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für NecDrop 10 Unities + Antwort hilfreich

die korrekte Syntax ist

obj:=str_to_obj(<string> )

Sie müssen jeden Wert einzeln umwandeln.

Versuchen Sie ed doch einfach mit:
Zwischentabelle.kopiereBereichNach({3,1}..{3,*}, Lieferliste,3,1);

Plant Simulation wandelt dann die Werte von selbst um.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

NecDrop
Mitglied
Student


Sehen Sie sich das Profil von NecDrop an!   Senden Sie eine Private Message an NecDrop  Schreiben Sie einen Gästebucheintrag für NecDrop

Beiträge: 43
Registriert: 22.08.2012

Plant Simulation 10.1

erstellt am: 13. Okt. 2012 14:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hatte es nach ihrem Eintrag auch mit:

Zwischentabelle.kopiereBereichNach({3,1}..{3,*}, Lieferliste,3,1);

Hat aber nicht funktioniert. Ich hab aber den Fehler gefunden. Hatte in der reset-Methode noch "Zwischentabelle.loeschen;" drin. Das hat mir alles kaputt gemacht. Wieso ist mir allerdings schleierhaft, da reset ja vor init ausgeführt wird?! Naja, jetzt funktioiert es jedenfalls.

Danke Bon Simul!!!

[Diese Nachricht wurde von NecDrop am 13. Okt. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz