Forum
Tipps
News
Menu-Icon

Java: jdbc <-> Excel

Hey ho,

ich greife über eine grafische Benutzeroberfläche auf verschiedene Excel-Dateien mittels jdbc/odbc zu.
Die Dateiauswahl habe ich mit Swing und dann mit dem JFileChooser gelöst...
(die betreffende Methode übergibt einfach den Dateinamen an den DriverManager um eine Verbindung herzustellen)

Mein Problem ist, dass wenn ich nach Auswahl der Datei jeweils via SQL auf die Tabellen zugreifen möchte, ich ja auch den Tabellennamen  kennen muss !
Jetzt habe ich aber verschiedene Sheets auf die immer nur einfach ein

"SELECT * FROM [(sheetname)$]"
ausgeführt werden soll.

Gibt es irgendwie ne Möglichkeit sich die Namen der Sheets in einer ausgewählten Datei zu holen, bzw. auch deren Anzahl?
(Ich habe also verschiedene Tabellen, deren Namen ich nicht unbedingt kenne, auf die ich auch aber immer den selben Befehl ausführen möchte!)

Hier einmal die komplette Methode...
public void calc()
{
  Connection con = null;
  Statement st = null;
  try
  {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String dateiname = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" + _sourcePath +";" + "DriverID=22;READONLY=false";
    //mit "_sourcePath" als übergebenem String aus dem FileChooser

    con = DriverManager.getConnection(url, "", "");
    st= con.createStatement();

    String query = "SELECT * from [tabelle1$]";

    ResultSet rs = st.executeQuery(query);
    while (rs.next())
    {
      //do anything
    }
  }
  catch(ClassNotFoundException e)
  {
    e.printStackTrace();
  }
  catch (SQLException e)
  {
    e.printStackTrace();
  }

  //blabla, hier geht weiter, ausserdem alles Beta!

}

Falls es da irgendwie eine Möglichkeit gibt, würde ich dann gerne die (ausgelesenen) Tabellennamen in der Oberfläche darstellen, damit der Benutzer auswählen kann, auf welche Tabelle entsprechende Funktion ausgeführt werden soll.


Wäre sehr nett, wen jemand ne Lösung hätte, konnte bisher aber leider nichts dem entsprechendes finden.

mfg
tremor4fun     
« Letzte Änderung: 30.03.07, 02:05:35 von tremor4fun »

Antworten zu Java: jdbc <-> Excel:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

@admin:
Original oben der Lesbarkeit halber geändert, hier die ursprüngliche Variante, in der der String noch den Namen "url" hatte...

...
Hier einmal die komplette Methode...
public void calc()
{
...
   String [url=http://www.computerhilfen.de/fachbegriffe-u-URL.html][b]url[/b][/url] = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" + _sourcePath +";" + "DriverID=22;READONLY=false";
    //mit "_sourcePath" als übergebenem String aus dem FileChooser
...


schon wieder ein "Computerhilfen-Fachbegriffe"(?)-Link innerhalb der Code-Tags, kann man das nicht endlich mal abschalten ???       
« Letzte Änderung: 30.03.07, 02:23:21 von tremor4fun »

« install Problem bei APEX-InstallationDatenbank »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateisystem
Das Dateisystem eines Computers definiert, wie Daten auf einem Speichermedium organisiert werden. Es bestimmt dabei, wie die Informationen auf dem Medium gespeichert, gel...