|
|
xlswrite in for-Schleife mit Laufvariable |
|
Annika |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.06.2013, 21:16
Titel: xlswrite in for-Schleife mit Laufvariable
|
 |
Hey,
ich sitze gerade an einem Matlab-Programm und schreibe in eine Excel-Datei. Nun muss ich mit einer For-Schleife, bei mir mit dem Index i, Zellen in der Excel-Datei füllen. Für die Range im xlswrite-Befehl muss man aber ja diese A1 Notation von Excel verwenden.
Meine Frage also: Wie kann ich z.B. (3, 6*i+5) als Zelle darstellen, sodass es von Matlab angenommen und in Excel richtig angezeigt wird? Mit cells funktioniert es leider nicht.
Vielen Danke im Voraus für eure Hilfe!
Gruß Annika=)
|
|
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 15.06.2013, 23:33
Titel:
|
 |
Mit
Einen String erstellen, und die Range-Angabe mit sprintf einbringen
Wenn i z.B. gerade 3 ist, sollte das ein xlswrite( ..., 'C3:C3') erzeugen.
Mir wäre das zu unübersichtlich (vlt geht es aber auch anders (oder willst du nur bestimmte Werte in deiner Iteration in der Exceldatei ersetzen?)) und zu langsam (unter Windows wird mit jeder Iteration erneut die Excel API zum speichern aufgerufen.).
Ich würde das Ergebnis einfach in einer Matrize speichern und nach der Schleife in einem ruck als Excel Datei exportieren.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
Annika |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.06.2013, 09:56
Titel:
|
 |
Vielen Dank schon einmal, habe es mal probiert. Da ich keinen Bereich, sondern nur eine Zelle ansprechen wollte, sieht mein Code nun so aus:
Müsste es so nicht eigentlich funktionieren? Ich erhalte dann aber folgende Fehlermeldung:
Error using xlswrite (line 220)
Excel returned: Error: Object returned error code: 0x800A03EC.[/code]
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 16.06.2013, 10:11
Titel:
|
 |
Nein.
Von der syntax her rufst du s schon falsch auf. Ferner musst du es mit sprintf einbringen, da du in der xlswrite Option ' ' ein String bringen musst, was du mit 's(7*i+3)5' nicht machst.
Das sind zwei verschiedene Sachen.
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
Annika |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.06.2013, 11:04
Titel:
|
 |
So ich habe das Problem nun gelöst..
In dem xlswrite-Befehl muss es so aussehen:
Der Tipp mit der Zeichenkette von A bis Z war sehr gut:)
|
|
|
markuman |

Forum-Guru
|
 |
Beiträge: 320
|
 |
|
 |
Anmeldedatum: 14.12.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
|
 |
|
|
 |
|
Verfasst am: 16.06.2013, 11:08
Titel:
|
 |
Oh ja, das ist eleganter als sprintf
_________________
DIY OR DIE
entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
|
|
|
|
|
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.
|
|