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

Datum und Zeit nach Excel

 

KardinalWest
Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 15.10.08
Wohnort: Salzburg
Version: ---
     Beitrag Verfasst am: 05.01.2011, 09:53     Titel: Datum und Zeit nach Excel
  Antworten mit Zitat      
Hallo,

Ich habe auf meinem alten Rechner (Matlab 7.1, Office 2003) folgenden Code verwendet, um Versuchsprotokolle in Excel zu erstellen:

Code:

time1 = cellstr(datestr(stamp,29));

xlswrite('Datei.xls',time1,'Sheetxy','A1');
 

(stamp ist ein Vektor mit Zeitmarken)

Das hat auch wunderbar geklappt. Wenn ich den selben Code auf meinem neuen Rechner ausführe (Matlab 7.11 (R2010b), Office 2010), wird der String mit dem Datum nicht mehr als solcher erkannt und statt "2011-01-05" habe ich z.b "40548" in meiner Tabelle stehen.

Ich würde nur ungern in jedem Tabellenblatt einzeln und händisch das Zellenformat ändern. (Sind doch einige bei jedem Versuch, Dazu kommt noch eine Spalte mit den Zeiten etc...)

Frage nun: Lässt sich das Matlab-seitig lösen oder muss ich mich intensiver mit Microsoft-Excel beschäftigen?

Gruß - Tom
Private Nachricht senden Benutzer-Profile anzeigen


KardinalWest
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 15.10.08
Wohnort: Salzburg
Version: ---
     Beitrag Verfasst am: 05.01.2011, 11:12     Titel:
  Antworten mit Zitat      
Hab jetzt selbst sowas wie eine Lösung gebastelt:

Code:
h1=cellstr(datestr(now,'dd.mm.yyyy'));
h2=cellstr(datestr(now,'HH:MM:SS'));



xlswrite('Test.xlsx',h1,'Tabelle1','A1')
xlswrite('Test.xlsx',h2,'Tabelle1','B1')


Der Unterschied zwischen
Code:
und
Code:
ist mir aber nach wie vor nicht ganz klar...

Irgendjemand ne Ahnung?

Gruß - Tom

(PS.: Nachteil ist natürlich, dass z.b. beim Zeitstring die Datumsinformation nicht mehr vorhanden ist. Arbeite selber aber nicht mit Excel, sondern möchte am Protokoll nur eine Datums und eine Zeitspalte haben...)
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.01.2011, 16:21     Titel:
  Antworten mit Zitat      
Hallo KardinalWest,

Zitat:
Der Unterschied zwischen
Code:
und
Code:
ist mir aber nach wie vor nicht ganz klar...

Da gibt es keinen Unterschied. Wieso vermutest Du einen?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.01.2011, 16:25     Titel: Re: Datum und Zeit nach Excel
  Antworten mit Zitat      
Hallo KardinalWest,

Zitat:
Wenn ich den selben Code auf meinem neuen Rechner ausführe (Matlab 7.11 (R2010b), Office 2010), wird der String mit dem Datum nicht mehr als solcher erkannt und statt "2011-01-05" habe ich z.b "40548" in meiner Tabelle stehen.

Ich vermute sehr, dass das eigentliche File das korrekte Datum enthält, dass aber Excel seine phantastischen Konvertierungs-Vorstellungen auf die Daten anwendet. Dies sollte man Excel in den Optionen abgewöhnen. Das sollte auch das uralte leidige Problem beheben, dass Excel Dezimal-Punkte und -Kommata nach Belieben fehlinterpretiert, wenn in den Ländereinstellungen das Deutsche Komma eingestellt wurde.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
KardinalWest
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 15.10.08
Wohnort: Salzburg
Version: ---
     Beitrag Verfasst am: 05.01.2011, 18:13     Titel:
  Antworten mit Zitat      
Hallo Jan

Lustigerweise werden meine Daten mit:
Code:
in Excel so dargestellt, wie ich das haben will, und mit
Code:
nicht...

(Frag mich bloß nicht warum...)

Nachdem ich gerade auch ein lustiges Erlebnis mit den Microsoft-Formateinstellungen zum Thema Tausendertrennzeichen, Gruppierungszeichen und Dezimaltrennzeichen hatte, werde ich also vermutlich doch mein Excel konfigurieren müssen.

Gruß - Tom
Private Nachricht senden Benutzer-Profile anzeigen
 
KardinalWest
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 15.10.08
Wohnort: Salzburg
Version: ---
     Beitrag Verfasst am: 07.01.2011, 10:43     Titel:
  Antworten mit Zitat      
Moin moin,

Das Ganze hat mir keine Ruhe gelassen:
Ein Ansatz, der mit allen Office-Versionen funktionieren sollte:

Code:
h1=cellstr(datestr(now,'''dd.mm.yyyy'));
xlswrite('Test.xlsx',h1,'Tabelle1','A1')


String ist also z.B:
Code:
'07.01.2011

Durch das vorangestellt Hochkomma wird die "geniale" Autoformat-Funktion von Excel unterdrückt und die Daten werden so dargestellt, wie sie eingegeben wurden.

Gruß - Tom

Über die nachträgliche Formatierbarkeit in Excel mach ich mir keine Sorgen, da ich wie gesagt nicht in Excel arbeite... Wäre für eine elegantere Lösung aber dankbar!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.01.2011, 00:10     Titel:
  Antworten mit Zitat      
Hallo KardinalWest,

Zitat:
Lustigerweise werden meine Daten mit:
Code:
in Excel so dargestellt, wie ich das haben will, und mit
Code:
nicht...

(Frag mich bloß nicht warum...)

Doch, genau das frage ich Dich: Warum?
Immerhin ist das Ergebnis von beiden Methoden absolute identisch!
Code:
x = now;
datestr(x,'HH:MM:SS') == datestr(x, 13)

Es muss nocht einen weiteren Unterschied geben.

Eine weitere Methode wäre es, das Datum in Double-Quotes einzuschließen, also die deutschen Anführungszeichen " und ". Auch dann treibt Excel keinen Schabernack mit den Inhalten.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 10.06.2011, 11:08     Titel:
  Antworten mit Zitat      
Hallo,

auch wenn die Frage schon was älter ist: unsere Entwicklung hat herausgefunden, dass der Fehler auf der Excel-Seite liegt. Auf der Homepage von Microsoft gibt es einen Patch (KB2466146), der das Problem behebt ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
KardinalWest
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 42
Anmeldedatum: 15.10.08
Wohnort: Salzburg
Version: ---
     Beitrag Verfasst am: 15.06.2011, 07:58     Titel:
  Antworten mit Zitat      
Danke für die Info. Hatte schon geglaubt, ich wär zu dämlich...

Besser spät als nie!

Gruß - Tom
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 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.