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

xlsx-Datei in neuen Ordner speichern (mat2xls.m)

 

Christian_aus_Soest

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2010, 11:07     Titel: xlsx-Datei in neuen Ordner speichern (mat2xls.m)
  Antworten mit Zitat      
Hallöchen ihr alle!

Ich versuche mit Hilfe von mat2xls eine Excel Datei zu erzeugen und diese dann in einen anderen Ordner zu speichern als die Vorlage war.
Ausserdem habe ich versucht die Datei mit ['Name', date] abzuspeichern auch dies funktioniert nicht. Ich hab natürlich auch versucht alles als einen String per variable zu übergeben, aber leider funktioniert dies nicht.
Egal was ich versuche Matlab wehrt sich gegen mich!
Hier mein Code:

Code:
% Löschen alter Daten
xlsxbereinigen
% Schreibt die Variabele "Leistungsverlauf" in die Leistungsverlauf.xlsx Datei
e = Leistungsverlauf;
e = mat2xls;
e.visible('off');
e.open('Leistungsverlauf.xlsx')

% place data in excel at location "B3"
e.data(Leistungsverlauf, ...
   'Leistungsverlauf - Daten','B3')

% place data in excel at location "C3"
e.data(Daten, ...
   'Daten','C3')

s= datestr(now);
% place data in excel at location "C3"
e.data({s}, ...
   'Leistungsverlauf - Daten','A2')

% Abspeichern des alten Pfades
oldpwd=pwd;

% Verändern der Uhrzeit zu besseren Verarbeitung weil ':' Probleme verursacht
s = strrep(s, ':', '-');

% Erstellen des neuen Pfades
mkdir('Protokolle',s);
addpath(genpath(pwd))

% Öffnen des neuen Pfades
cd(fullfile('Protokolle',s))

% Abspeichern der Datei
e.save('Leistungsverlauf')
e.close;

% Zurückkehren in den alten Ordner
cd(oldpwd);

% Schließen der Kiste
e.close;
 


Kann mir jemand sagen was ich falsch gemacht habe, dass er das Verzeichnis nicht wechselt? Hat jemand vielleicht eine Lösung für mich?
oder einen Ansatz?

mfg Christian


Christian_aus_Soest

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2010, 19:20     Titel:
  Antworten mit Zitat      
Achso, ich hatte auch dem mat2xls schreiber mal per E-mail angeschrieben, aber der hat leider nicht geantwortet... Crying or Very sad
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.09.2010, 13:01     Titel: Re: xlsx-Datei in neuen Ordner speichern (mat2xls.m)
  Antworten mit Zitat      
Hallo Christian,

Zitat:
Egal was ich versuche Matlab wehrt sich gegen mich!

Ganz locker bleiben. Matlab macht immer genau das, was man ihr sagt.

KannSt Du statt "funktioniert nicht" exakt aufschreiben, welches Programm welche Fehlermeldungen oder unerwarteten Ergebnisse liefert?
Wozu brauchst du "addpath(genpath(pwd))" ?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2010, 19:05     Titel:
  Antworten mit Zitat      
addpath(genpath(pwd))"
wenn ich das richtig verstanden habe kann ich damit sagen in welchen Orten Matlab anch seinen m-Files sucht.
Da ich das mat2xls-file in dem Ordner "kraftwerksprogramm" habe und zwischen durch den Ordner wechseln will um etwas zu speichern dachte ich muss ich diesen Befehl aus führen.

Was nicht funktioniert:
1.Das Speichern der Datei in dem neu erstellten untergeordneten Ordner.
->er speichert weiterhin im übergeordneten Ordner...
2.Das Umbennen der Datei, dass sie sowohl Datum als auch den Namen hat.
% Abspeichern der Datei
e.save('Leistungsverlauf DATUM')
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.09.2010, 22:24     Titel:
  Antworten mit Zitat      
Hallo Christan,

Den Pfad während des Programm zu ändern, kann tückisch sein. Ich würde den Pfad zu den M-Files einmal in den Matlab-Pfad einfügen und danach den Pfad speichern.

Wie wäre es, wenn Du die Datei einfach mit vollem Pfad speicherst:
Code:

BaseFolder = cd;  % Oder auch hier richtig definieren!
mkdir(fullfile(BaseFolder, 'Protokolle'), s);
e.save(fullfile(BaseFolder, 'Protokolle', s));
% Oder braucht's auch den File-Namen?!
% e.save(fullfile(BaseFolder, 'Protokolle', s, 'Leistungsverlauf.xlsx'));
 

Relative Pfad-Namen führen oft zu Problemen, wenn irgendeine Toolbox-Funktion den aktuellen Pfad verändert. Mit vollen Pfad-Namen gibt es solche Probleme nie.

Ich kenne das Excel-Tool nicht. Ich rate einfach mal, dass bei der SAVE-Methode der File-Namen gefehlt haben könnte. Eine Fehlermeldung, dass man nicht den Ordner überschreiben kann, wäre dann aber nett gewesen.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2010, 19:38     Titel:
  Antworten mit Zitat      
*hm* Also das hat jetzt geklappt! Very Happy
(Die Version mit File-Namen...)
Code:

BaseFolder = cd;  % Oder auch hier richtig definieren!
mkdir(fullfile(BaseFolder, 'Protokolle'), s);
e.save(fullfile(BaseFolder, 'Protokolle', s, 'Leistungsverlauf.xlsx')); [\code]

Eigentlich dachte ich das ich das so schon versucht hätte, Rolling Eyes  aber irgendwo hatte ich scheinbar einen Fehler. Embarassed

Aufjedenfall einen großen Dank! Exclamation

LG Christian
 
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 2024 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.