Unterschiedliche Datentypen korrekt anzeigen (Java)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Unterschiedliche Datentypen korrekt anzeigen (Java)

Re: Unterschiedliche Datentypen korrekt anzeigen (Java)

von Viper612 » Mi, 06.05.2009 12:06

Hi zusammen,

danke für den Tip, leider hat es nicht wirklich weiter geholfen.

Die Lösung für die Datumsangaben war, dass diese Werte als Double übertragen werden mussten. Mit ein wenig Rumrechnen, da Java vom 1.1.1970 aus rechnet. Die Zielzelle muss dann entsprechend als Datum mit/ohne Zeit formatiert sein.

Den Überlauf bei Integer konnte ich noch nicht lösen.

So far.
Kai

Re: Unterschiedliche Datentypen korrekt anzeigen (Java)

von hol.sten » Fr, 01.05.2009 10:37

Vielleicht hilft dir dies hier weiter: http://user.services.openoffice.org/en/ ... =45&t=1844
Das zweite Sourcecode-Beispiel enthält verschiedene Datenmanipulationen in einem Calc-Spredsheet.

Re: Unterschiedliche Datentypen korrekt anzeigen (Java)

von Viper612 » Do, 30.04.2009 15:57

OK, anderer Ansatz:

wie kann ich nur den reinen Inhalt einer Zelle ändern, ohne dass sich die Formatierung einer Zelle ändert. Bei meiner oben beschriebenen Lösung habe ich ja immer einen Objekt-Typen. Gibt es da eine Möglichkeit?

Grüße und schönen Maifeiertag!
Kai

Unterschiedliche Datentypen korrekt anzeigen (Java)

von Viper612 » Mi, 29.04.2009 11:59

Hi zusammen,

folgendes Szenario: Ich möchte Daten aus einer Datenbank über Java in einem Sheet darstellen. Es werden unterschiedliche Formate (Varchar, Integer, ...) übermittelt. Diese sollen in Calc entsprechend formatiert dargestellt werden, also nicht alle stumpf als Text (mit einem Datum oder Zahlenwert kann man dann nicht mehr weiterarbeiten).

Wenn ich es nur mit Strings und Double zu tun habe, klappt alles, aber bei folgenden Datentypen habe ich Probleme: :?:
1.) Integer: Eigentlich müsste ich mit Long arbeiten, wegen des größeren Zahlenbereichs. Packe ich in das Daten-Array aber Long rein, werden diese Daten im Calc-Sheet nicht dargestellt.
2.) Datums- und Timestampangaben: Packe ich ein java.util.date in das Daten-Array, wird überhaupt nichts mehr ins Calc-Sheet geschrieben.

Weiß jemand, wie ich diese beiden Problematiken - evtl. natürlich auch durch ein anderes Vorgehen ohne Array - korrekt in das Sheet bekomme?

Code: Alles auswählen

Object[][] aValues = new Object[rowsAnz][colAnz];
while (...) {
   Object objValue = null;
   objValue = ... // Erzeugung eines Strings, Integer, Double ... je nach Typ der Datenbankspalte
   aValues[i][j] = objValue;
}
XCellRange xCellRange = null;
xCellRange = sheet.getCellRangeByPosition... // Bereich zuweisen
com.sun.star.sheet.XCellRangeData xData = (com.sun.star.sheet.XCellRangeData) UnoRuntime.queryInterface(com.sun.star.sheet.XCellRangeData.class, xCellRange);
xData.setDataArray(aValues);
Grüße
Kai

Nach oben