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

Bild (JPG) in Excel Exportieren...

 

eselhund
Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 20.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.11.2009, 15:47     Titel: Bild (JPG) in Excel Exportieren...
  Antworten mit Zitat      
Hi,

ich suche eine Möglichkeit ein Bild (kann muss aber nicht JPG sein) in Excel zu exportieren.
Das Bild liegt in Form einer Matrix in Berechnungen im Matlab vor. Wie ich es als JPG abspeichere weiß ich auch. Nur kann ich mittels xlswrite() leider keine Bilder schreiben...
Private Nachricht senden Benutzer-Profile anzeigen


Schrank
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 10.07.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 11.11.2009, 08:19     Titel:
  Antworten mit Zitat      
Hallo eselhund,

das wurde hier schon behandelt:
http://www.gomatlab.de/figure-plot-.....elle-einfuegen-t3318.html
http://www.gomatlab.de/figure-zu-excel-t2984.html

Hoffentlich hilft Dir das.

Gruß Schrank
Private Nachricht senden Benutzer-Profile anzeigen
 
eselhund
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 20.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2009, 20:05     Titel:
  Antworten mit Zitat      
Danke, sind gute Tipps, hab damit auch mal ein wenig rumgespielt...

Inzwischen kann ich acuh das entsprechende Bild in der GUI exportieren. Allerdings hat das Bild in Excel einen großen weißen Rahmen die dem Umriss des gesamten GUIs entspricht.
Da bin ich grad dabei mit getframe dies hin zu bekommen...

Aber allgemein hätte ich es gerne, dass ich den Dateinamen der exportierten Datei angeben kann und der Rest alles im Hintergrund abläuft. (Die Option, dass man die Datei auch im Vordergrund hat wäre schön...)

Habe so mal angefangen, aber weiß nicht so recht wie das genau funktioniert in Verbindung mit AktivX
Code:
[xlsfilename, PathName] = uiputfile({'*.xls'},'Save as',fileNameProposal);

Und ich habe auch noch nicht herausgefunden wie ich Text über diese AktivX Variante exportieren kann, denn xlswrite() geht ja nun nicht mehr...
Private Nachricht senden Benutzer-Profile anzeigen
 
Schrank
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 10.07.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 13.11.2009, 07:35     Titel:
  Antworten mit Zitat      
Hallo eselhund,

da bin ich leider auch überfragt. vielleicht kann jemand anderes weiterhelfen??
Private Nachricht senden Benutzer-Profile anzeigen
 
eselhund
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 20.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2009, 15:14     Titel:
  Antworten mit Zitat      
...So hab es nun hinbekommen wie ich wollte.

Code:
[xlsfilename, PathName] = uiputfile({'*.xls'},'Save as',Vorschlagsname);
exl=actxserver('Excel.Application');
exl.visible=0;
workbooks=exl.Workbooks;
workbook=invoke(workbooks,'Add');
sheets=exl.ActiveWorkbook.Sheets;
sheet1=get(sheets,'Item',1);
invoke(sheet1,'Activate');
activesheet=exl.Activesheet;
shapes=activesheet.Shapes;
tempfigfile = [tempname '.bmp'];
hi = findall(0,'type','image');
ha = get(hi,'Parent');

bild = getframe(ha);
imwrite(bild.cdata,tempfigfile);
shapes.AddPicture(tempfigfile,0,1,0,0,400,300);
activesheetrange = get(activesheet,'Range','A1');
set(activesheetrange,'Value', 'Beispiel Variable');

activesheetrange = get(activesheet,'Range','A2');
set(activesheetrange,'Value', 'Beispiel Variable 2');

% ...

invoke(workbook, 'SaveAs', fullfile(PathName, xlsfilename));

invoke(exl,'Quit');
delete(exl);
delete(tempfigfile);


Aber es haben sich ein paar neue Fragen aufgetan:

1. Wie würdet ihr am besten ein erfolgreiches Exportieren detektieren für eine Statusnachricht?

2. Wo gibts ne Liste wo man Formatierungen Excel übergeben kann (ganz einfach Dinge wie: Textfarbe, Zellenhintergrundfarbe, Zellenbreite, Fettdruck...)

3. Wie wäre der sauberste Weg mehrere Messwerte vie ActiveX zu übergeben?
Muss ich dazu für jeden Wert folgendes schreiben, oder geht dies besser/sauberer?

Code:
activesheetrange = get(activesheet,'Range','A1');
set(activesheetrange,'Value', 'Beispiel Variable');


4. Wenn ich das Bild als JPG exportiere sind die Farben verfälscht, auch bei Quality 100. Woran könnte dies liegen? (Sieht verwaschen aus...)

5. Wenn man eine vorhandene Datei überschreibt muss man das "Wollen Sie wirklich... Ja/Nein" Feld anfangs betätigen und ein-zwei Sekunden später, wenn das Excel dann speichert nochmal diesen Aufruf von Excel bestätigen. Kann man diese Frage von Excel irgendwie unterbinden damit man das nicht zweimal angeben muss?

6. Wenn ein Verzeichnis nicht vorhanden ist, welches man zuvor als default Verzeichnis angibt kommt ein Fehler. (Name is nonexistent or not a directory)
Ist es möglich, dass dieses Verzeichnis dann automatisch erzeugt wird?
Private Nachricht senden Benutzer-Profile anzeigen
 
eselhund
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 20.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2009, 11:31     Titel:
  Antworten mit Zitat      
1. Hab ich nun mittels TRY und CATCH gelöst.

2. Bin ich immer noch nicht fündig geworden...
Weiß keiner wo ich eine derartige Liste finden kann???
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.