OLE-Automation mit Excel - in Zelle schreiben

mo84

Grünschnabel
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

Code:
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"));


	}

}
 
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 ...:confused:

Gruß,

mo
 
Zuletzt bearbeitet:
Weiss denn da wirklich niemand´nen Rat? Ich möchte doch nur in ein bestimmtes Tabellenblatt hüpfen :confused:
 
Zurück