# OLE-Automation mit Excel - in Zelle schreiben



## mo84 (11. März 2010)

Hi,

ich möchte ein OLE-Objekt in eine SWT-Applikation einbetten - das ist soweit auch kein Problem und funktioniert super! Allerdings lese ich ein xls-File ein, dass mehrere Tabellenblätter hat. Ich möchte nun in ein Zellen eines bestimmten Tabellenblattes schreiben. Mir ist es über Umwege gelungen, überhaupt in eine Zelle zu schreiben - aber vorher den sheet festzulegen kriege ich einfach nicht hin, finde keine vernünftige Doku/Beispiele :-( Bitte um Hilfe....

Gruß, mo


```
public class OleExcel extends OleClientSite {


	public static final String ID = "ExcelSheet";
	private static final int CELL_VALUE_ID = 0x00000006;
	private static final int CELL_ID = 0x000000c5;
	private static final int SHEET_ID = 0x000001e5;
	private OleAutomation cell;


	public OleExcel(Composite parent, int style, File file	) {
		super(parent, style, file);

		OleAutomation workbook = new OleAutomation(this);
		OleAutomation worksheet = workbook.getProperty(SHEET_ID,
				new Variant[] { new Variant(1) }).getAutomation();

	
			cell = worksheet.getProperty(CELL_ID,new Variant[] { new Variant("A1") }).getAutomation();
			cell.setProperty(CELL_VALUE_ID, new Variant("Testeintrag"));


	}

}
```


----------



## mo84 (12. März 2010)

niemand´ne Ahnung? :-(


----------



## vfl_freak (12. März 2010)

Moin,

woher bekommst denn Deine SHEET_ID 
Das sollte dann ggf. doch reichen ....

Gruß
Klaus


----------



## mo84 (12. März 2010)

Hi,

das entstammt einem Beispiel (http://www.bitscn.com/pdb/java/200904/161150.html ^^), ich habe mal "spaßeshalber" versucht +1/-1 auf die ID zu rechnen, aber dann knallt es. Ich finde im Netz auch kaum Beispiele zu´nem Excel-OLE-Objekt, wo jenes bearbeitet wird. 

Ich habe hier in dem Forum folgendes beispiel gefunden:

http://www.tutorials.de/forum/java/338359-ole-automation.html

Dieses Beispiel enthält auch Funktionsaufrufe á la "..getIDsOfNames(new String[] { "ActiveSheet" });" aber irgendwie blicke ich da absolut nicht durch - woher bekomme ich die Funktionsnamen denn? Und wie gehe ich dann weiter vor? Ich will doch nur excel einbetten, etwasin das OLE-Objekt schreiben und vorher den sheet festlegen ...

Gruß,

mo


----------



## mo84 (17. März 2010)

Weiss denn da wirklich niemand´nen Rat? Ich möchte doch nur in ein bestimmtes Tabellenblatt hüpfen


----------



## cwawi (3. Mai 2011)

Die passende SheetID für weitere Sheets bekommst Du mit getIDsOfNames(). 

Siehe auch die Dokumentation zu OLEAutomation.

http://help.eclipse.org/help33/inde.../org/eclipse/swt/ole/win32/OleAutomation.html


----------

