Forum: PC-Programmierung C# Verbundene Zellen aus Exceltabelle lesen


von Hansbär (Gast)


Lesenswert?

Wenn ich z.B. 16 Zellen habe die wie folgt aussehen:

1 2 3 4
5 6 7 8
9 0 1 1

Kann ich mit Hilfe der Klassen aus der Excel Assembly einzellen Zellen 
auslesen oder einen "Rahmen" über alle Zellen spannen und diese 
auslesen.

Das mache ich so:

Range range = (Range)ws.get_Range("A1", "D4");
Wenn Zellen allerdings miteinander verbunden sind, z.B. wurden die 4 
Zellen links oben mit einander verbunden...

1 1 2 3
1 1 7 8
9 0 1 1

dann bekomme ich beim lesen der Zelle A1 den Wert 1 raus. Für A2, B1 und 
B2 bekomm ich NULL zurück. Gibt es hier eine Möglichkeit für alle Zellen 
die "1" zu bekommen? Ich möchte die verbundene Zelle nicht auftrennen 
müssen und 4 mal die gleiche Zahl in die Zellen schreiben...
 Ich hoffe es hat sich schonmal jemand mit Excel beschäftigt.

von Sven H. (dsb_sven)


Lesenswert?

Es scheint doch eine gewisse Logik dahinter zu stecken, wo, bei 
verbundenen Zellen, die Zahl steht und wo NULL.

Jetzt liegt es an deiner Einleseroutine die NULLen durch die Zahl zu 
ersetzten die drin stehen soll...

von Marvol (Gast)


Lesenswert?

Vielleicht kannst Du über MergeCells rausbekommen, ob die Zellen 
verbunden sind und dann nur den ersten Wert auslesen.

http://msdn.microsoft.com/en-us/library/aa175732%28v=office.11%29.aspx

von Hansbär (Gast)


Lesenswert?

Sven H. schrieb:
> Es scheint doch eine gewisse Logik dahinter zu stecken, wo, bei
> verbundenen Zellen, die Zahl steht und wo NULL.
>
> Jetzt liegt es an deiner Einleseroutine die NULLen durch die Zahl zu
> ersetzten die drin stehen soll...

Nein. In der Liste auf jeden Fall nicht. Daher muss ich es dynamisch 
rausfinden ob die Zelen verbunden sind oder ob wirklich nichts drin 
steht.

Danke für den Tipp mit MergeCells. Das werde ich mir mal anschauen

von Hansbär (Gast)


Lesenswert?

Mit Merge Cells habe ich es leider nicht hinbekommen. Habe die 
Excelliste nun etwas angepasst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.