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

Probleme mit xlswrite

 

unusual
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2008, 17:28     Titel: Probleme mit xlswrite
  Antworten mit Zitat      
Hallo Leute,

ich versuche eine Matrix von Matlab in ein Excel-Sheet zu übertragen.
Ich verwende folgenden Code:

Code:
xlswrite('d:\Dateiname\Excelmappe.xls', Matrix, 'Sheet', 'Range');


Matlab meckert an der Stelle mit dem Komma vor der Matrix.
Angeblich 'Unbalanced', aber ich übernehme den Befehl wie aus der Matlabhilfe.

Mit xlsread klappt alles wunderbar.

Hat jemand eine Idee???

Gruß.........Timo
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 13.04.2008, 17:44     Titel:
  Antworten mit Zitat      
Hi,

versuch mal folgendes:
Code:
name=['d:' filesep 'Dateiname' filesep 'Excelmappe.xls'];
xlswrite(name, Matrix, 'Sheet', 'Range');


Ich kann den Fehler bei Deinem Befehl nicht reproduzieren.
Vielleicht gibst Du man den genauen Fehlertext an.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
unusual
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2008, 18:18     Titel:
  Antworten mit Zitat      
Hey nschlange,

erstmal danke für deine Antwort.
Ich habe mal deinen Quelltext verwendet, aber leider auch erfolglos.

Matlab gibt mir folgenden Fehler aus:

" Expression or statement is incorrect--possibly unbalanced (, {, or [. "

Auch hier ist der Fehler an der Stelle mit dem Komma vor der Matrix.

Code:
xlswrite = (name, matrix, 'Sheet', 'Range');


Die Matrix befindet sich im Workspace. Die sollte doch gefunden werden oder ??

Gruß........Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 13.04.2008, 20:08     Titel:
  Antworten mit Zitat      
Sicher sollte das gefunden werden.
Du schreibst aber schon statt 'Sheet' und 'Range' sowas wie 'Blatt1' und 'A1' rein, oder? Oder hast Du Variablen Sheet und Range, in denen das steht?
Gib mal ein lauffähiges Beispiel, bei dem der Fehler auftritt.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
unusual
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2008, 20:50     Titel:
  Antworten mit Zitat      
Hallo nschlange,

ich bin einen kleinen schritt weitergekommen.
Um deine Frage zu beantworten: ja, ich spreche die Tabellenblätter und die Range mit ihren namen an.

Ich verwende momentan folgenden Code:

Code:
xlswrite('d:\transfer.xls', ti)


Das klappt soweit auch ganz gut.
Nur darf diese mappe noch nicht existieren. Matlab erstellt diese selbst.
Wenn ich ein weiteres Mal Daten übergeben will gibt Matlab aus: Diese Datei existiert bereits, soll diese ersetzt werden? Wenn ich ja angebe, schreibt es die neuen daten aber nicht rein.
Ich will ja einfach nur, dass ich immer wieder Daten ins gleiche Tabellenblatt exportieren kann.

Gruß......Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
unusual
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2008, 21:11     Titel:
  Antworten mit Zitat      
Also ...noch eine Anmerkung.

Die Daten werden übertragen. Nur muss Excel dazu geschlossen sein.
Kann ich die Daten nicht mehrmals hintereinander in die gleiche Range im gleichen Blatt eintragen???

Wenn ich die Datei erst schließe werden die Daten übertragen, sonst leider nicht.

Gruß..........Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 13.04.2008, 21:44     Titel:
  Antworten mit Zitat      
Hm, also Excel muss dazu nicht unbedingt geschlossen sein, bloß darf die Datei nicht geöffnet sein. Das wiederholte Schreiben in dieselbe Datei in dasselbe Sheet in dieselbe Range funktioniert bei mir.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
unusual
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2008, 21:57     Titel:
  Antworten mit Zitat      
Ok.......nur aus Interesse. Warum darf die Datei nicht geöffnet sein??
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 13.04.2008, 22:05     Titel:
  Antworten mit Zitat      
Das nennt sich file locking und wird vom Betriebssystem betrieben. Wenn mehr als ein Prozess Daten in eine Datei schreiben würde bekäme man Inkonsistenzen. Deshalb wird das verboten. D.h. nur ein Programm kann zu einer Zeit schreiben.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"

Zuletzt bearbeitet von nschlange am 13.04.2008, 22:45, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
unusual
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.04.2008, 22:25     Titel:
  Antworten mit Zitat      
ok.......danke für die infos.......

Bis zum nächsten mal.

Gruß........Timo
Private Nachricht senden Benutzer-Profile anzeigen
 
Tuborger
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 15.02.08
Wohnort: Bonn
Version: 2007a
     Beitrag Verfasst am: 17.04.2008, 16:17     Titel:
  Antworten mit Zitat      
Ich greife das Thema mal auf:

Ich erzeuge eine Excel-Datei, in die ich dann später je nach Bedarf Arbeitsblätter erzeuge und Daten reinschreibe.
Ist es möglich, die automatisch erzeugten Sheets (Tabelle1, Tabelle2 u Tabelle3) zu löschen oder umzubenennen?

Grüße
Tuborger
Private Nachricht senden Benutzer-Profile anzeigen
 
Cheriour

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2008, 14:51     Titel:
  Antworten mit Zitat      
Würd mich auch interessieren
 
Cheriour

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2008, 14:54     Titel:
  Antworten mit Zitat      
okay, hab hier was gefunden... ist etwas aufwändig, aber wohl die einzige Möglichkeit: http://www.mathworks.de/support/sol.....=ML&solution=1-57DHEP
Greets
Cheriour
 
Andband
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 10.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2009, 14:09     Titel: 2 unterschiedlich lange Vektoren in je eine Spalte in Excel
  Antworten mit Zitat      
Hi,
ich greife das hier nochmal auf.
Ich habe in Matlab 2 (unterschiedlich lange) Vektoren namens "geschw" und "int" und würde diese gerne in eine *.xls-file in zwei Spalten nebeneinander schreiben lassen.

Ich hab es so versucht:
Code:

ausgabe= {'Geschwindigkeit','Intensität';geschw; int};
xlswrite(ausgabedatei,ausgabe);
 


...also eben analog zur Matlab-Hilfe zum xlswrite-Befehl.

Nur funktioniert das leider nicht, weil die Vektoren unterschiedliche Länge haben.
Muss ich nun den Kürzeren immer mit Nullen auffüllen?
Meine Frage ist also, wie ich das am Besten automatisiert hinbekomme.

Vielen Dank euch schonmal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast Ritis

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2009, 16:52     Titel:
  Antworten mit Zitat      
Schreib doch einfach zweimal in die excel Tabelle

z.B. Zuerst in Spalte A
und dann in Spalte B
 
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 - 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.