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

Figure/plot in Excel-Zelle einfügen...

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.09.2008, 11:26     Titel: Figure/plot in Excel-Zelle einfügen...
  Antworten mit Zitat      
Ich wollte nur kurz fragen ob es nen Befehl gibt zu meinem Problemchen gibt Wink


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 19.09.2008, 11:44     Titel:
  Antworten mit Zitat      
Moin,

etwas mehr auszuholen, war wohl nicht drin?!

Zum Thema: Wozu soll das gut sein?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.09.2008, 11:51     Titel:
  Antworten mit Zitat      
Sorry dachte dass Thema reicht aus Very Happy
Hab Werte die ich in ner Exceltabelle darstelle dazu hab ich auch Grafiken, die ich gerne direkt ins Excel übertragen möchte...
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 19.09.2008, 13:09     Titel:
  Antworten mit Zitat      
Hi,

guck mal hier. Vielleicht kommst Du damit weiter.
_________________

Viele Grüße
nschlange

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.09.2008, 13:58     Titel:
  Antworten mit Zitat      
Danke, ist schonmal ein Fortschritt Smile

Aber was muss ich jetzt hieran andern damit ich es in einer bereits existierenden Datei und mappe einfügen kann.

Code:
exl2 = actxserver('excel.application');
exlWkbk2 = exl2.Workbooks;
wb = invoke(exlWkbk2,'Add');
graphSheet = invoke(wb.Sheets,'Add');
Shapes = graphSheet.Shapes;

tempfig = figure('Visible','off','PaperPositionMode','auto');
tempfigfile = [tempname '.jpg'];
ah = findobj(h,'type','axes');
copyobj(ah,tempfig) % Copy both graph axes and legend axes
print(tempfig,'-djpeg','-r300',tempfigfile);
Shapes.AddPicture(tempfigfile,0,1,50,18,300,235);
exl2.visible = 1;
 
nschlange
Ehrenmitglied

Ehrenmitglied



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

so könnte man es ändern:
Code:
clear all;
clc;

f=figure;
plot(rand(1,10));

exl=actxserver('Excel.Application');
exl.visible=1;
workbooks=exl.Workbooks;
workbook=invoke(workbooks,'Open','Testmappe');
sheets=exl.ActiveWorkbook.Sheets;
sheet1=get(sheets,'Item',1);
invoke(sheet1,'Activate');
activesheet=exl.Activesheet;
shapes=activesheet.Shapes;
tempfig = figure('Visible','off','PaperPositionMode','auto');
tempfigfile = [tempname '.jpg'];
ah = findobj(f,'type','axes');
copyobj(ah,tempfig);
print(tempfig,'-djpeg','-r300',tempfigfile);
shapes.AddPicture(tempfigfile,0,1,50,18,300,235);
invoke(exl,'Quit');
delete(exl);

Jetzt wird in das erste Sheet von Testmappe.xls gespeichert. Die Datei muss in dem Verzeichnis existieren, das als Standardspeicherort eingestellt ist. Sonst Pfad mit angeben.
_________________

Viele Grüße
nschlange

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2008, 09:46     Titel:
  Antworten mit Zitat      
Danke, das läuft zwar soweit...
aber ich krieg es leider nicht hin, dass mein Bild direkt mit der Auswertung, also nach einem Durchlauf gespeichert wird.
Und ich bin wohl auch so blöd das Bild im 2ten anstatt im 1ten Sheet zu speichern.

Und wie siehts damit aus, wenn ich das Bild im Sheet woanders haben will (das ist immer oben links)

Ich weiß Fragen über Fragen Confused ... ich bin leider total blöde Wink

Schonmal ein riesen Dankschön!!
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 22.09.2008, 10:13     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
Danke, das läuft zwar soweit...
aber ich krieg es leider nicht hin, dass mein Bild direkt mit der Auswertung, also nach einem Durchlauf gespeichert wird.


Beispiel?

Zum Speichern in das zweite Blatt
Code:
sheet1=get(sheets,'Item',2);


Für eine andere Position:
Code:
shapes.AddPicture(tempfigfile,0,1,500,100,300,235);

MSDN Library hat Folgendes geschrieben:
AddPicture method as it applies to the Shapes object.

Adds a picture to a document. Returns a Shape object that represents the picture and adds it to the Shapes collection.

expression.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, Anchor)

expression Required. An expression that returns a Shapes object.

FileName Required String. The path and file name of the picture.

LinkToFile Optional Variant. True to link the picture to the file from which it was created. False to make the picture an independent copy of the file. The default value is False.

SaveWithDocument Optional Variant. True to save the linked picture with the document. The default value is False.

Left Optional Variant. The position, measured in points, of the left edge of the new picture relative to the anchor.

Top Optional Variant. The position, measured in points, of the top edge of the new picture relative to the anchor.

Width Optional Variant. The width of the picture, in points.

Height Optional Variant. The height of the picture, in points.

Anchor Optional Variant. The range to which the picture is bound. If Anchor is specified, the anchor is positioned at the beginning of the first paragraph in the anchoring range. If this argument is omitted, however, the anchor is placed automatically and the picture is positioned relative to the top and left edges of the page.

_________________

Viele Grüße
nschlange

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2008, 11:57     Titel:
  Antworten mit Zitat      
Danke.... so siehts jetzt aus!!! Allerdings hätte ich noch eine kleine Frage...

Code:
[path name ext] = fileparts([pathname filename]);
out_File = [path '\' name '.xls'];
colormap jet                    

xlswrite(out_File, xlscell2,'Tabelle2');
xlswrite(out_File, xlscell,'Tabelle1');    

exl=actxserver('Excel.Application');
exl.visible=1;
workbooks=exl.Workbooks;
workbook=invoke(workbooks,'Open',out_File);
sheets=exl.ActiveWorkbook.Sheets;
sheet1=get(sheets,'Item',2);
invoke(sheet1,'Activate');
activesheet=exl.Activesheet;
shapes=activesheet.Shapes;

tempfig = figure('Visible','off','PaperPositionMode','auto');
tempfigfile = [tempname '.jpg'];
ah = findobj(pie([xlscell2{13,3} xlscell2{14,3}],{'Test','Test2'}),'type','axes');
copyobj(ah,tempfig);
print(tempfig,'-djpeg','-r300',tempfigfile);
shapes.AddPicture(tempfigfile,0,1,300,130,350,259);


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


Diesem Code nach muss ich beim Schliessen von Excel immer die Speicherung bestätigen.
Die Datei kann sich doch sicherlich nach Einfügen des Bildes auch selber Speichern Wink

Wie lautet denn der Befehl[/code]
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 22.09.2008, 12:28     Titel:
  Antworten mit Zitat      
Hi,

das müsste mit
Code:
...
invoke(workbook,'Save');
invoke(exl,'Quit');
delete(exl);
klappen.
_________________

Viele Grüße
nschlange

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2008, 13:40     Titel:
  Antworten mit Zitat      
Wunderbar..... läuft! Ich danke dir
 
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 - 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.