|
|
Anfängerprobleme beim Einlesen einer Excel Tabelle |
|
ferryerdmann |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 18.07.12
|
 |
|
 |
Wohnort: Villingen-Schwenningen
|
 |
|
 |
Version: 7,6
|
 |
|
|
 |
|
Verfasst am: 18.07.2012, 22:37
Titel: Anfängerprobleme beim Einlesen einer Excel Tabelle
|
 |
Hallo zusammen,
Wie ihr vielleicht meinem Status entnehmen könnt, bin ich erst neu hier.
Nach einigen Nächten der Fehlersuche und aufmerksames lesen der Foreneinträge wende ich mich Hilfe suchend an Euch. Und zwar möchte ich gerne einen Bereich aus einer Excel-Tabelle durch Matlab einlesen lassen. zu diesem Zweck fand ich auch hilfreiche Beispiele in Foren. Mein Code sieht folgendermaßen aus:
Nun zu meiner Frage:
Wieso ließt Matlab nicht die Zahlen aus der Excel Tabelle ein und speichert diese in "data"?
[Bitte Code-Umgebung benutzen, Danke! Jan S]
Beschreibung: |
|
 Download |
Dateiname: |
Test1.xls |
Dateigröße: |
9.19 KB |
Heruntergeladen: |
409 mal |
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 19.07.2012, 09:23
Titel:
|
 |
warum benutzt du nicht einfach
?
|
|
|
ferryerdmann |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 18.07.12
|
 |
|
 |
Wohnort: Villingen-Schwenningen
|
 |
|
 |
Version: 7,6
|
 |
|
|
 |
|
Verfasst am: 19.07.2012, 20:49
Titel:
|
 |
Weil ich davon ausgehe, dass ich über diese Variante auch xlsx öffnen kann.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.07.2012, 09:15
Titel:
|
 |
Hallo ferryerdmann,
Dann schau doch zumindest mal in den Code von XLSREAD rein. Denn dies enthält genau die gleichen Befehle wie dein Code, zusätzlich aber auch eine Menge Fehler-Abfragen, die sinnvolle Meldungen ausgeben. Falls Dein Code XLSX-Dateien öffnen kann, kann XLSREAD dies also auch.
Allerdings hat XLSREAD den Nachteil, dass es bei jedem Aufruf das ActiveX-Control und das Excel-File neu öffnet und nachher wieder schließt. Falls man auf 200 Ranges in 100 Sheets eines Files zugreifen muss, ist das sehr langsam. Dann lohnt sich ein manueller Aufruf schon. Dazu findet man auch einiges in Matlab's FileExchange (nach "xls" oder "Excel" suchen!).
Gruß, Jan
|
|
|
ferryerdmann |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 18.07.12
|
 |
|
 |
Wohnort: Villingen-Schwenningen
|
 |
|
 |
Version: 7,6
|
 |
|
|
 |
|
Verfasst am: 20.07.2012, 21:00
Titel:
|
 |
Danke für den Hinweis. Ich werde es berücksichtigen und die verkürzte Schreibweise mit xlsread ausprobieren.
Gruß Ferry
|
|
|
ferryerdmann |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 18.07.12
|
 |
|
 |
Wohnort: Villingen-Schwenningen
|
 |
|
 |
Version: 7,6
|
 |
|
|
 |
|
Verfasst am: 21.07.2012, 23:09
Titel:
|
 |
|
 |
|
Hallo zusammen;
Nachdem ich den Vorschlag befolgt bin, habe ich nun folgende Frage:
Wie schaffe ich es, dass aus den geladenen Spalten bestimmte Zellen berechnet werden? Denn momentan sind die Spalten aus einer Excel in den "Workspace" geladen worden und warten darauf weiterbearbeitet zu werden.
Nachstehend der aktuelle Quellcode:
% Command Window und Workspace zurücksetzen
clear all;
clc;
% Auswahl des Ordners in dem die Exceldatei liegt
path = uigetdir(pwd,'Select Excel directory'); % Pfadangabe der Excelfiles
path = [path filesep];
file_all = dir(path); % alle Daten im Verzeichniss (Ordner und Files)
file = file_all([file_all.isdir] == 0); % Extraktion der Files
P = cell(1,numel(file)); % pre allocation
if ~isempty(file) % ist der Ordner leer (bzw. keine Files)?
for k = 1:numel(file)
[pathstr, name, ext] = fileparts([path file(k).name]); % Fileinformationen
if strcmp(ext,'.xlsx') % ist die aktuelle file eine Excel-File?, wenn ja-->File einlesen
P{k} = xlsread([path file(k).name]); % Einlesen der Exceldatei
% Spalten auswählen
A = P{k}(:,1); %Spalte A (100)
B = P{k}(:,2); %Spalte B (196)
C = P{k}(:,3); %Spalte C (420)
D = P{k}(:,4); %Spalte D (525)
% Berechnung von Summe Spalte A
SummeA = sum(A);
% Berechnung von Summe Spalte B
SummeB = sum(B);
end
end
end
Auf hilfreiche Ideen, würde ich mich freuen!
Mfg
Ferry
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|