WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Excel Tabelle aus GUI 1 in Table der GUI 2 einlesen

 

stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 16:03     Titel: Excel Tabelle aus GUI 1 in Table der GUI 2 einlesen
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem:
habe eine GUI erstellt wo ich mehrere excel dateien in einer listbox anzeigen lasse. aus dieser liste möchte ich nun einen bestimmten bereich (z.b. Zeile 1 bis Zeile 20 und Spalte 1 bis Spalte 20) meiner ausgewählten excel-datei in einer table einer anderen GUI einlesen.

Kann mir da jemand helfen und sagen wie der code dafür aussehen muss?
danke im voraus.

mfg stefan


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 10.01.2013, 16:27     Titel: Re: Excel Tabelle aus GUI 1 in Table der GUI 2 einlesen
  Antworten mit Zitat      
stefan10 hat Folgendes geschrieben:

habe eine GUI erstellt wo ich mehrere excel dateien in einer listbox anzeigen lasse. aus dieser liste möchte ich nun einen bestimmten bereich (z.b. Zeile 1 bis Zeile 20 und Spalte 1 bis Spalte 20) meiner ausgewählten excel-datei in einer table


Zum einlesen der Exceldaten benötigst du xlsread.
Welche Matlabfunktion hast du?
Ab 2010 kannst du für das Darstellen von Tabellen in Guide uitable nutzen.


stefan10 hat Folgendes geschrieben:
einer anderen GUI einlesen.

Hier würde ich dir raten, deine schon bestehende GUI zu vergrößern, so dass die uitable dort mit angezeigt wird.
Denn zwei GUI, die aufeinander warten müssen, bzw. Abhängigkeiten haben, sind meist recht kompliztiert.

stefan10 hat Folgendes geschrieben:

Kann mir da jemand helfen und sagen wie der code dafür aussehen muss?

1
0
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 16:49     Titel:
  Antworten mit Zitat      
kann ich den befehl xlsread auch variabel gestalten, sodass ich damit auch meine liste zugreifen kann und immer die daten von meiner gewählten excel datei liest.

habe eine 2011er version, werd mir den befehl uitable mal ansehen.

kann leider nicht alles in einer GUI machen.

ich danke dir für die antwort und deine tipps.

mfg stefan
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 11.01.2013, 10:39     Titel:
  Antworten mit Zitat      
stefan10 hat Folgendes geschrieben:
kann ich den befehl xlsread auch variabel gestalten, sodass ich damit auch meine liste zugreifen kann und immer die daten von meiner gewählten excel datei liest.

Ich bin mir nicht sicher, ob ich dich richtig verstehe.

Es geht dir darum, ob du erst alle Dateien einließt, oder immer nur die gerade ausgewählte?

stefan10 hat Folgendes geschrieben:

kann leider nicht alles in einer GUI machen.

Dann solltest du auf alle Fälle darauf achten, immer der richtigen Gui zuzuweisen, indem du nicht per gcf, sondern mittels des Gui-handles arbeitest.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2013, 09:24     Titel:
  Antworten mit Zitat      
hallo,

ich hab das zu Beginn vielleicht falsch formuliert. Ich habe in meiner 1.GUI eine listbox erstellt wo ich mir mehrere Excel-Dateien anzeigen lasse. Aus dieser Liste möchte ich nun eine Datei auswählen und über einen Push Button soll mir der Inhalt der Excel Datei, z.b. Zeile 1, Spalte bis Zeile 20, Spalte 3, in einer table meiner 2.GUI angezeigt werden.

mfg stefan10
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.01.2013, 12:55     Titel:
  Antworten mit Zitat      
Hallo stefan10,

Wie genau können wir Dir nun helfen? Dies zu programmieren ist kein Hexenwerk, aber schon einige Arbeit. Es wäre aber nicht effizient, wenn ich hier nun etwa 200 Zeilen Code poste, da die dann sicherlich nicht genau zu dem passen, was Du möchtest.
Kleine konkrete Probleme lassen sich immer leichter und besser beantworten.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2013, 15:34     Titel:
  Antworten mit Zitat      
Hallo,

danke für deine Antwort.

Das erste Problem ist folgendes:
Ich möchte, dass wenn ich den Push Button "Datei öffnen" in meiner 1.GUI drücke, sich die jeweils ausgewählte Excel-Datei aus meiner Listbox öffnet.

Hab bis jetzt aber nur den Befehl uigetfile gefunden mit dem sich aber nur Dateien aus einem Ordner öffnen lassen oder?

und wie muss meine syntax aussehen, damit ich die ausgewählte datei aus der listbox angezeigt bekomme?

mfg stefan10
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.01.2013, 15:51     Titel:
  Antworten mit Zitat      
Hallo Stefan,

Zitat:
Ich möchte, dass wenn ich den Push Button "Datei öffnen" in meiner 1.GUI drücke, sich die jeweils ausgewählte Excel-Datei aus meiner Listbox öffnet.

Hierzu gibt es dutzende verschiedene Möglichkeiten je nach dem, ob das GUI per Programm oder GUIDE erzeugt wurde, ob die File-Namen mit oder ohne Pfad im String der Listbox stehen oder ob sie in den UserData der Listbox oder der Figure gespeichert wurden.

Die Frage ist immer noch sehr allgemein. Wenn Du möchtest, dass jemand das Programm für Dich schreibt, wäre dies in der "Programmier-Aufträge"-Kategorie richtig aufgehoben, in der man auch eine Entlohnung anbietet.
Andernfalls versuche es zunächst selbst so weit Du kommst und poste den relevanten Code-Abschnitt falls Probleme auftreten. Dann muss man für eine Antwort nicht erraten, wie der Name der Variable ist, in der der Listbox-Handle gespeichert ist, wie die File-Namen gespeichert sind, wie das Code-Gerüst für den Button-Callback aussieht etc. Bei vagen Fragen müssen wir dagegen sehr viele solche Details raten und deshalb wird die Antwort niemals genau zu Deinem Problem passen und Du musst wieder raten, was genau die Variablen bedeuten sollen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2013, 16:09     Titel:
  Antworten mit Zitat      
Hallo,

der code, mit dem ich die excel-dateien in meine liste hole ist folgender:

Code:
path2dir = 'Ffadname';

[filename, filepath, FilterIndex] = uigetfile('*.*', 'Select Files', 'Multiselect', 'On', path2dir);

if filepath ==0
    return
end

oldstring = get(handles.liste_dateien, 'String');

if isempty(oldstring)
    newstring = filename;
elseif ~iscell(oldstring)
    newstring = {oldstring filename};
else
    newstring = {oldstring{:} filename{:}};
end

set(handles.liste_dateien, 'String', newstring);



meine GUI wurde per GUIDE erzeugt, die Dateinamen stehen ohne Pfadnamen in der Listbox und sie sind in der Figure gespeichert.

mein Gerüst hab für den button "datei öffnen" hab ich so begonnen:

Code:
ausgewaehlte_datei = get(handles.liste_dateien, 'Value'); % die datei aus der liste, die markiert ist;

if ausgewaehlte_datei == 1
    %openfile(ausgewaehlte_datei)
else
    set(handles.liste_dateien, 'Value', ausgewaehlte_datei);
end;
 

bin auf dem gebiet noch ein anfänger. hab schon mehrere varianten ausprobiert aber komm nicht weiter.

mfg stefan10

[EDITED, Jan, Bitte Code-Formatierung verwenden - Danke!]
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.01.2013, 16:29     Titel:
  Antworten mit Zitat      
Hallo


Schaue dir dieses Tutorial an:
www.mathworks.com/matlabcentral/fileexchange/24861

Außerdem benutze die Forensuche, wenn du keine spezielles Problem hast.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.01.2013, 16:42     Titel:
  Antworten mit Zitat      
stefan10 hat Folgendes geschrieben:

meine GUI wurde per GUIDE erzeugt, die Dateinamen stehen ohne Pfadnamen in der Listbox und sie sind in der Figure gespeichert.


Speichere auch den Pfad zu den Dateien, den wirst brauchen. Am Besten in handles-Struktur ablegen
mit GUIDATA werden in GUI die Änderungen abgespeichert

Code:
path2dir = 'Ffadname';

[filename, filepath, FilterIndex] = uigetfile('*.*', 'Select Files', 'Multiselect', 'On', path2dir);

if filepath ==0
    return
end

oldstring = get(handles.liste_dateien, 'String');

if isempty(oldstring)
    newstring = filename;
elseif ~iscell(oldstring)
    newstring = {oldstring filename};
else
    newstring = {oldstring{:} filename{:}};
end

set(handles.liste_dateien, 'String', newstring);

handles.Pfad = filepath;
guidata(handles.deine_GUITAG_hier,handles)
 


Dann später z.B könnte das so ablaufen

Code:

alle_dateien  = get(handles.liste_dateien, 'String');

datei_pos     = get(handles.liste_dateien, 'Value'); % die datei aus der liste, die markiert ist;

ausgewaehlte_datei = alle_dateien{datei_pos};

if ausgewaehlte_datei >0
     load(fullfile(handles.Pfad,ausgewaehlte_datei))
    %openfile(ausgewaehlte_datei)
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2013, 17:00     Titel:
  Antworten mit Zitat      
hallo,

danke für die hilfe!!!!

einen fehler zeigt es mir an:
in der zeile: load(fullfile(handles.Pfad,ausgewaehlte_datei))

kann das daran liegen, dass ich eine excel-datei öffnen will?

mfg stefan10
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.01.2013, 17:03     Titel:
  Antworten mit Zitat      
Stimmt, habe jetzt nicht den ganzen Thread gelesen


Ändere LOAD in XLSREAD um

Code:

xlsread(fullfile(handles.Pfad,ausgewaehlte_datei))
 
Private Nachricht senden Benutzer-Profile anzeigen
 
stefan10

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2013, 17:29     Titel:
  Antworten mit Zitat      
hallo,

es zeigt mir in der zeile leider noch immer einen fehler an.
es steht immer:

xlsread unable to open file.
file not found.

kann es sein dass irgendetwas mit dem pfad nicht ganz stimmt?
hab schon verschiedene dateien ausprobiert aber ist immer der selbe fehler.

mfg stefan10
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.01.2013, 17:32     Titel:
  Antworten mit Zitat      
Hallo Stefan,

Alte Forums-Weisheit: Immer wenn Du erwähnst, dass es einen Fehler gibt, poste die komplette Fehler-Meldung im Forum. Matlab's Fehlermeldungen sind immer sehr aussagestark und helfen beim Lösen ungemein.

Gruß, Jan

PS. Ja, ich habe übertrieben. Es gibt wohl etwa 6 Fehlermeldungen, die eher zur Belustigung als zur Problemlösung taugen. Nun weiß ich nicht, welche Quote das ergibt, da ich die Anzahl aller Meldungen nicht kenne. Aber ich glaube 10'000 ist nicht sehr falsch.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.