Verfasst am: 24.06.2013, 12:21
Titel: Auswahl eines Excel-Sheets in GUI
Hallo an alle Wissenden,
ich habe eine GUI erstellt, in der man aus einem Kraft-Weg-Digramm die Steifigkeit und das EModul aus wählbaren Teilabschnitten der Kurve berechnen kann.
Zum Test habe ich immer eine excel-Datei mit nur einem sheet (das war auch nciht spezifisch umbenannt) verwendet. Aus meiner Zugprüfmaschine ziehe ich mir allerdings Excel-Dateien, die je nach Probenumfang aus entsprechend vielen Sheets besteht. Die Sheets haben jetzt auch Namen (Probe 1, Probe 2,...).
Bei diesen Files bekomme ich beim Einlesen auf einmal folgende Fehlermeldung:
??? Attempted to access num(:,1); index out of bounds because size(num)=[0,0].
Umgehen kann ich das nur, indem ich beim Einlesen direkt den Namen des Sheets (z.B. xlsread(filename,'Probe 1')) eingebe.
Meine Frage:
Gibt es auch eine geeignete Abfrage (ähnlich "uigetfile"), in der ich durch die entsprechenden Sheets scrollen kann, um diese dann auszuwählen? Vielleicht irgendwie über xlsinfo, oder so?
Dabke schonmal im Voraus!
pepsi
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 24.06.2013, 15:04
Titel:
hab doch selber noch eine ganz gute Lösung gefunden, denke ich (zumindest funktionierts...)
für alle, die vll vor ähnlichen Problemen stehen, hier mein Ansatz (bin gerne für Kritik offen, oder Vorschläge, wie es günstiger geht!):
Code:
%---------------------------------------------------------------------
% --- Executes on button press in load_file.
%---------------------------------------------------------------------
function load_file_Callback(hObject, eventdata, handles) % hObject handle to load_file (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
filename = uigetfile('*.xls');
%---------------------------------------------------------------------
% --- Executes on selection change in Probenliste.
%---------------------------------------------------------------------
function Probenliste_Callback(hObject, eventdata, handles) % hObject handle to Probenliste (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns Probenliste contents as cell array % contents{get(hObject,'Value')} returns selected item from Probenliste
funktioniert bei mir nicht, weil Worksheets kein handle ist.
Damit dieser SET-Befehl funktioniert, muss "Worksheets" kein handle sein, sondern ein String. "handles.Probenliste" muss der Handle sein.
Deswegen verstehe ich das Problem nicht.
Gruß, Jan
Einstellungen und Berechtigungen
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
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.