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

xlswrite auf einem Mac verwenden

 

metalphony
Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 19:20     Titel: xlswrite auf einem Mac verwenden
  Antworten mit Zitat      
Guten Abend,
ich habe matlab R2013a und das MS Office 2011 auf meinem mac installiert.
Wenn ich die xlswrite Funktion verwende bekomme ich folgende Warnung:

Warning: Could not start Excel server for export.
XLSWRITE will attempt to write file in CSV format.

Da ich für meine Arbeit als studentische Hilfskraft Daten auswerten muss, bin ich darauf angewiesen dass diese Funktion auch funktioniert...

Was kann/muss ich machen??
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 19:47     Titel:
  Antworten mit Zitat      
Hallo

XLSWRITE läuft nicht an einem UNIX Rechner, weil diese Funktion eine Schnittstelle (einen COM Server) zu Office benötigt.

Man kann auf FEX die Funktion XLWRITE verwenden

damit man eigenen Code zwischen den Systemen nicht ständig verändern muss empfiehlt sich eigene xlswrite.m File zu schreiben, welches die XLWRITE aufruft


so:
Code:


function [varargout] = xlswrite(varargin)

if nargout > 0
   [varargout{1:nargout}] = xlwrite(varargin{:});
else
   xlwrite(varargin{:});
end

 
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 19:59     Titel:
  Antworten mit Zitat      
ok. Ich weiß aber ehrlich gesagt nicht so ganz was ich jetzt machen soll um auf meinem Mac trotzdem Arbeiten zu können. Könntest du, dass was du geschrieben hast, noch etwas erläutern?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 20:17     Titel:
  Antworten mit Zitat      
Hallo

1) Lade die Funktion XLWRITE von FEX
2) entpacke in einen beliebigen Ordner
3) füge die Pfade, ADDPATH zu XLWRITE
4) füge die JARs mit JAVAADDPATH (siehe Unterordner poi_library im XLWRITE-Paket), schaue auch in die Datei "Test_xlWrite.m" im XLWRITE-Paket

5) schreibe eigenen XLSWRITE, kopiere den Code von oben und speichere als "xlswrite.m" in dem Ordner, wo du XLWRITE entpackt hast.

Das wärs jetzt kannst du XLSWRITE wie gewohnt aufrufen.
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 20:26     Titel:
  Antworten mit Zitat      
Smile...hört sich schonma gut an das ich danach xlswrite wieder verwenden kann..
zu 1) : Was ist denn FEX?
zu 4) Was sind JAR's ?
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: 16.12.2013, 21:08     Titel:
  Antworten mit Zitat      
Hallo metalphony

Zitat:
zu 1) : Was ist denn FEX?

Eine beliebte Methode solche Fragen zu klären sind Internet-Suchmaschinen. "Matlab FEX" eingeben und Du bekommst gleich ein paar passende Seite dazu. Es ist Matlab's FileExchange, wo User ihren Code posten können, wenn sie meinen, er könne für andere hilfreich sein.

Zitat:
zu 4) Was sind JAR's ?

Sowie Du den Download dort gefunden hast, wirst Du darin .jar Files finden.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 21:30     Titel:
  Antworten mit Zitat      
Ich habe dir doch das XLWRITE oben verlinkt.
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 16.12.2013, 23:19     Titel:
  Antworten mit Zitat      
Ahh...ok! Vielen Dank! Ich werde es morgen mal probieren..
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 17.12.2013, 11:22     Titel:
  Antworten mit Zitat      
Guten Morgen.

Ich hab mir das jetzt mal angeschaut...verstehe aber leider noch einige Punkte nicht ganz.
zu 3): Welche Pfade meinst du? bzw. Wo finde ich ADDPATH? Ist mit "zu XLWRITE das Matfile gemeint?

zu 4): Bei diesem Punkt verstehe ich den Satz insgesamt leider nicht so ganz.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.12.2013, 12:03     Titel:
  Antworten mit Zitat      
Hallo

Zitat:

zu 3): Welche Pfade meinst du? bzw. Wo finde ich ADDPATH? Ist mit "zu XLWRITE das Matfile gemeint?


ADDPATH ist Matlab eigene Funktion, um die Funktion zum Suchpfad einzufügen
Code:

% in Matlab Command Fenster einfach Hilfe zu addpath aufrufen
doc addpath
 


Zitat:

zu 4): Bei diesem Punkt verstehe ich den Satz insgesamt leider nicht so ganz.

da schaue doch in XLWRITE Paket rein. Öffne "Test_xlWrite.m" im Editor auf, dort steht beispielhaft wie man die JARs (Java Bibliotheken) mit JAVAADDPATH einfügt
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 17.12.2013, 12:05     Titel:
  Antworten mit Zitat      
addpath('pfad/zu/dem/entpackten/xlwrite/ordner')

javaaddpath('pfad/zu/dem/entpackten/xlwrite/ordner/poi_library/poi-3.8-20120326.jar')


So schwer ist das nun wirklich nicht.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman

Zuletzt bearbeitet von markuman am 17.12.2013, 13:03, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 17.12.2013, 12:31     Titel:
  Antworten mit Zitat      
Sorry...aber mir fällt sowas nicht wirklich einfach.
ok. ADDPATH fügt einen Pfad hinzu...wohin soll ich dann den Pfad von dem entpackten xlwrite ordnet einfügen? und auch das mit dem javaaddpath verstehe ich einfach nicht....ich verstehe das es eine matlab Funktion ist, aber nicht wo ich die jetzt verwenden soll.
Sorry... Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 17.12.2013, 13:08     Titel:
  Antworten mit Zitat      
Dir fehlt ein massives Grundverständnis über die Ordner und Dateistruktur von deinem Betriebsystem.

Die Befehle hab ich doch bereits gepostet, du musst nur den Pfad anpassen wo du den Ordner entpackt hast. Ich könnte raten uns sagen im Download Ordner.
Dann ist es addpath('~/Downloads/xlwrite')
Selbige vorgehensweise für javaaddpath und den jar Dateien.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.12.2013, 13:17     Titel:
  Antworten mit Zitat      
Hallo
Bitte die Doku dazu lesen, Matlab Hilfe ist sehr gut, mit Erklärungen und Beispielen.


ADDPATH fügt nur temporär in Suchpfad etwas ein. Die Funktion füght zu einer Art Umgebungsvariable PATH den Suchpfad ein

z.B
Code:

% in aktuellen Pfad, erzeuge 'GOMATLAB'-Ordner
newdir = fullfile(pwd, 'GOMATLAB')
mkdir(newdir)

if isempty(strfind(path, newdir))
  disp('GOMATLAB ist noch nicht in Suchpfad')
end


%  füge 'GOMATLAB'-Ordner zu Suchpfad
addpath(newdir)

if ~isempty(strfind(path, newdir))
  disp('GOMATLAB ist jetzt in dem Suchpfad')
end


% DANACH kannst du das wie folgt entfernen


% aus dem Suchpfad entfernen
rmpath(newdir)

if isempty(strfind(path, newdir))
  disp('GOMATLAB wurde entfernt aus dem Suchpfad')
end

rmdir(newdir)

 


Wenn du PATH in der Matlab -Command -Fenster aufrufst, dann siehst den Ordner ganz oben.



Da der ADDPATH nur temorär die Pfade zu Matlab Suchpfad einfügt, musst du, jedes mal beim Neustarten des Matlab die Schitte 3 und 4 ausführen. Das kannst du immer direkt in der Konsole von Hand machen. Oder du schreibst dir einfach ein Script, welchen du einmalig beim Starten ausführst.
wie markuman schon aufgezeigt hat, muss folgendes nach Matlab Start ausgeführt werden.
Deine Aufgabe ist nur die Pfade richtig anzupassen.
Code:

addpath('pfad/zu/dem/entpackten/xlwrite/')
javaaddpath('pfad/zu/dem/entpackten/xlwrite/poi_library/poi-3.8-20120326.jar');
javaaddpath('pfad/zu/dem/entpackten/xlwrite/poi_library/poi-ooxml-3.8-20120326.jar');
javaaddpath('pfad/zu/dem/entpackten/xlwrite/poi_library/poi-ooxml-schemas-3.8-20120326.jar');
javaaddpath('pfad/zu/dem/entpackten/xlwrite/poi_library/xmlbeans-2.3.0.jar');
javaaddpath('pfad/zu/dem/entpackten/xlwrite/poi_library/dom4j-1.6.1.jar');
javaaddpath('pfad/zu/dem/entpackten/xlwrite/poi_library/stax-api-1.0.1.jar');
 



Wenn du Root-Rechte hast, kannst in STARTUP.m (zu finden in Matlab Installation Ordner unter toolbox/local/) dies auch eintragen.
Private Nachricht senden Benutzer-Profile anzeigen
 
metalphony
Themenstarter

Forum-Century

Forum-Century


Beiträge: 119
Anmeldedatum: 31.07.13
Wohnort: Braunschweig
Version: R2012b
     Beitrag Verfasst am: 17.12.2013, 13:57     Titel:
  Antworten mit Zitat      
@Denny:
ok. Mir war bis jetzt nicht bewusst das ich dass in eine Funktion integrieren muss, die ich dann nach dem Matlab start ausführen muss, wenn ich xlswrite verwenden möchte...mir ging es weniger um die Funktionsweise von ADDPATH sondern mehr darum was ich damit machen soll..bzw. mit den entsprechenden Pfaden...Danke soweit! Werde mal probieren...
Private Nachricht senden Benutzer-Profile anzeigen
 
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.