Unterschiedliche Datentypen korrekt anzeigen (Java)

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Viper612
Beiträge: 7
Registriert: Mo, 06.04.2009 12:22

Unterschiedliche Datentypen korrekt anzeigen (Java)

Beitrag von Viper612 »

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
Viper612
Beiträge: 7
Registriert: Mo, 06.04.2009 12:22

Re: Unterschiedliche Datentypen korrekt anzeigen (Java)

Beitrag von Viper612 »

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
hol.sten
******
Beiträge: 871
Registriert: Fr, 18.11.2005 21:21

Re: Unterschiedliche Datentypen korrekt anzeigen (Java)

Beitrag von hol.sten »

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.
Viper612
Beiträge: 7
Registriert: Mo, 06.04.2009 12:22

Re: Unterschiedliche Datentypen korrekt anzeigen (Java)

Beitrag von Viper612 »

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
Antworten