[gelöst] Zellinhalt und CellContentType lesen und schreiben
Moderator: Moderatoren
[gelöst] Zellinhalt und CellContentType lesen und schreiben
Hallo,
ausgehend von diesem Posting und der dort angehängten Datei: viewtopic.php?p=257099#p257099
Wie kann ich effektiver als dort gezeigt Zellinhalt und CellContentType (zur Unterscheidung von Text und Zahlen) lesen (zum auslesen ist kein besonderer Aufwand nötig) und insbesondere schreiben. Gibt es einen Weg, der ohne die Fallunterscheidung nach CellContentType beim schreiben auskommt?
Danke!
ausgehend von diesem Posting und der dort angehängten Datei: viewtopic.php?p=257099#p257099
Wie kann ich effektiver als dort gezeigt Zellinhalt und CellContentType (zur Unterscheidung von Text und Zahlen) lesen (zum auslesen ist kein besonderer Aufwand nötig) und insbesondere schreiben. Gibt es einen Weg, der ohne die Fallunterscheidung nach CellContentType beim schreiben auskommt?
Danke!
Zuletzt geändert von TrueColor am Do, 16.07.2015 08:07, insgesamt 1-mal geändert.
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: Zellinhalt und CellContentType lesen und schreiben
Hallo
Wie wäre es mit ...getDataArray() →→ ...setDataArray(...)
Wie wäre es mit ...getDataArray() →→ ...setDataArray(...)
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Zellinhalt und CellContentType lesen und schreiben
.FormulaLocal dürfte gehen, d.h. das hier:Gibt es einen Weg, der ohne die Fallunterscheidung nach CellContentType beim schreiben auskommt?
Code: Alles auswählen
oCell.FormulaLocal= aData(i)
Code: Alles auswählen
Select Case aCellContentType(i)
Case "Value"
oCell.Value = aData(i)
Case "String"
oCell.String = aData(i)
End Select
Gruß
Stephan
Re: Zellinhalt und CellContentType lesen und schreiben
DataArray: das klingt natürlich gut, nachteilig ist allerdings, dass (so wie ich's verstanden habe) der zu lesende und der zu schreibende Bereich die gleiche Form und Größe haben muss (im Beispiel ist das der Fall). Damit man in der Gestaltung des Eingabeformulars beschränkt.
Danke euch beiden!
Danke euch beiden!
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: [gelöst] Zellinhalt und CellContentType lesen und schreiben
Oh, böse Falle, FormulaLocal übernimmt Formeln, ohne dass die Bezüge angepasst werden.
DataArray übernimmt nur Werte. Lässt sich mit sehr wenig Code realisieren, gefällt mir.
DataArray übernimmt nur Werte. Lässt sich mit sehr wenig Code realisieren, gefällt mir.
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: Zellinhalt und CellContentType lesen und schreiben
nein, du kannst einzelne Elemente auslesen:TrueColor hat geschrieben:DataArray: das klingt natürlich gut, nachteilig ist allerdings, dass (so wie ich's verstanden habe) der zu lesende und der zu schreibende Bereich die gleiche Form und Größe haben muss (im Beispiel ist das der Fall). Damit man in der Gestaltung des Eingabeformulars beschränkt.
Code: Alles auswählen
data = some_cellrange.DataArray()
for each row in data
for each value in row
print value
next
next
Code: Alles auswählen
output = array( array(1,2,3), array("a","b","c"))
Code: Alles auswählen
sheet.getCellRangeByName("A1:C2").setDataArray( output )
Code: Alles auswählen
sheet.getCellRangeByName("A1:C2").DataArray = output
analog dazu ..FormulaArray gibt immer Text zurück (im Falle einer echten Formel eben den englischen Formeltext)
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: [gelöst] Zellinhalt und CellContentType lesen und schreiben
Also könnte ich doch auch einzelne, verstreute Elemente in das DataArray einlesen, um das dann anschließend als Ganzes zu schreiben?
Ich glaube, ich stoße grad an meine Grenzen des Verständnisses. Wie ist so ein DataArray aufgebaut? Ich hab nicht wirklich was aussagekräftiges gefunden. Von Dannenhöfer konnte ich etwas Code 1:1 übernehmen, das war auch soweit verständlich, aber das war nur der einfache rechteckige Bereich. Im AOO-Wiki sind die Angaben doch sehr spärlich.
Ich glaube, ich stoße grad an meine Grenzen des Verständnisses. Wie ist so ein DataArray aufgebaut? Ich hab nicht wirklich was aussagekräftiges gefunden. Von Dannenhöfer konnte ich etwas Code 1:1 übernehmen, das war auch soweit verständlich, aber das war nur der einfache rechteckige Bereich. Im AOO-Wiki sind die Angaben doch sehr spärlich.
System:
LibO 6 + LibO 7
LibO 6 + LibO 7
Re: [gelöst] Zellinhalt und CellContentType lesen und schreiben
Hallo
Wie oben bereits beschrieben ist es in Basic ein verschachteltes Array von Array's
Stell dir das Objekt vor wie einen Zug, die Wagen representieren die Zeilen (aus der Tabelle) und die Sitzplätze in jedem Wagen representieren die Zellen der einzelnen Zeile.
Wie oben bereits beschrieben ist es in Basic ein verschachteltes Array von Array's
Stell dir das Objekt vor wie einen Zug, die Wagen representieren die Zeilen (aus der Tabelle) und die Sitzplätze in jedem Wagen representieren die Zellen der einzelnen Zeile.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: [gelöst] Zellinhalt und CellContentType lesen und schreiben
Ah, das macht das klarer.
Also müsste ich, um
Bsp.:
A1 --> DataArray(aZeile(0), Zelle(0))
A2 --> DataArray(aZeile(0), Zelle(1))
B3 --> DataArray(aZeile(0), Zelle(2))
B4 --> DataArray(aZeile(0), Zelle(3))
Hm... muss mal gucken, wie sich das in Code umsetzen lässt... Array von Arrays...
Danke erstmal, muss ich ich durch den Kopf gehen lassen!
Also müsste ich, um
die einzelnen Zellen erstmal Stück für Stück in das Array einlesen, und zwar in der Reihenfolge, wie ich sie später schreiben will.einzelne, verstreute Elemente in das DataArray einlesen
Bsp.:
A1 --> DataArray(aZeile(0), Zelle(0))
A2 --> DataArray(aZeile(0), Zelle(1))
B3 --> DataArray(aZeile(0), Zelle(2))
B4 --> DataArray(aZeile(0), Zelle(3))
Hm... muss mal gucken, wie sich das in Code umsetzen lässt... Array von Arrays...
Danke erstmal, muss ich ich durch den Kopf gehen lassen!
System:
LibO 6 + LibO 7
LibO 6 + LibO 7