Utilisation de la feuille Excel comme base de données avec java


Existe-t-il un moyen possible de comparer une entrée de l'utilisateur en java

Avec plusieurs valeurs d'attribut dans la feuille Excel?

J'essaie de lire 6 entrées de l'utilisateur (symptômes) et de les comparer avec

Chaque valeur d'attribut dans ma feuille excel des symptômes de la maladie.

Symptômes de la Maladie est quelque chose comme ceci:

------------------------------------------------------------------------
disease_id | disease name | symptoms_1     | symptoms_2    | symptoms_3 |..

    1      |  flu         |  fever         |  dry cough    | headache  |
    2      |  diarrhea    |abdominal cramps| abdominal pain| fever     |

------------------------------------------------------------------------

Tout d'Abord, l'application demandera:

Ressentez-vous l'un de ces symptômes, alors il montre tous les symptômes_1

Valeurs dans une liste déroulante que l'utilisateur peut sélectionner. puis le demande pour les symptômes suivants de la même manière.

Ex: si je sélectionne fever dans la première liste déroulante(toutes les valeurs de symptoms_1), en java, je veux augmenter la maladie 1 et la maladie 2 de 20% et

Ensuite, lorsque je sélectionne toux sèche dans la deuxième liste déroulante(toutes les valeurs de symptoms_2), donc disease_1 sera de 40%.

Ma question est-ce que cette façon est possible en java en utilisant Excel comme base de données?

Si pas veuillez donner une idée pour résoudre ce problème.

Merci.

Author: Frédéric Henri, 2015-09-12

1 answers

C'est possible. Prenez le fichier Excel comme base de données, les feuilles comme tables et les colonnes dans les feuilles comme colonnes pour vos tables.

1 - Vous devez ajouter le pilote JDBC ODBC à votre projet.

2 - Le code ci-dessous peut vous aider à obtenir la source de votre liste déroulante (choix de l'utilisateur). Il suppose que vous avez un fichier Excel avec une sheet1 étant votre tableau des symptômes. feuil1 a des colonnes symptoms_1, symptoms_2, ...

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Main {

    public static Connection getConnection() throws Exception {
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String url = "jdbc:odbc:excelDB";
    String username = "yourName";
    String password = "yourPass";
    Class.forName(driver);
    return DriverManager.getConnection(url, username, password);
}

public static void main(String args[]) throws Exception {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    conn = getConnection();
    stmt = conn.createStatement();
    String excelQuery = "select symptoms_1 from [Sheet1$]";
    rs = stmt.executeQuery(excelQuery);

    while (rs.next()) {
      //Fill the data for your drop-down list
    }

    rs.close();
    stmt.close();
    conn.close();
  }
}

J'espère que ça aide.

 1
Author: Kaem Jii, 2015-09-12 13:56:54