Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java实现excelsheet数据库_Java_Database_Excel_Search_Full Text Search - Fatal编程技术网

用java实现excelsheet数据库

用java实现excelsheet数据库,java,database,excel,search,full-text-search,Java,Database,Excel,Search,Full Text Search,是否有一种可能的方法来比较java中用户的输入 在excel工作表中具有多个属性值 我试图从用户那里读取6个输入(症状),并将其与 我的疾病症状excel表中的每个属性值 疾病症状是这样的: ------------------------------------------------------------------------ disease_id | disease name | symptoms_1 | symptoms_2 | symptoms_3 |..

是否有一种可能的方法来比较java中用户的输入

在excel工作表中具有多个属性值

我试图从用户那里读取6个输入(症状),并将其与

我的疾病症状excel表中的每个属性值

疾病症状是这样的:

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

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

------------------------------------------------------------------------
首先,应用程序将询问:

您是否经历过这些症状中的任何一种,然后它会显示所有症状\u 1

下拉列表中的值,供用户从中选择。然后它问 对于下一个症状,同样的方法

例如:如果我从第一个下拉列表中选择fever(发烧的所有值 症状(1),在java中,我希望将疾病1和疾病2增加20%,并且

然后,当我在第二个下拉列表中选择干咳时(所有 症状2),因此疾病1将占40%

我的问题是,这种方法在java中使用excel作为数据库是否可行

如果没有,请给出解决这个问题的方法


谢谢。

这是可能的。将Excel文件作为数据库,将图纸作为表格,将图纸中的列作为表格的列

1-您需要将JDBC ODBC驱动程序添加到项目中

2-下面的代码可以帮助您获取下拉列表(用户选择)的源代码。它假定您有一个Excel文件,其中sheet1是症状表。表1有“症状”列1、症状列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();
  }
}

希望有帮助。

有一个,这就是你要找的吗?或者直接用来读取文件。@Andreas JDBC驱动程序使用POI作为其基础,POI是一个非常棒的工具,但我们有礼貌地说它有一定的学习曲线:)为什么数据库不是一个选项,如果您想将数据库打包为应用程序,可以使用嵌入式或内存中的数据库,我认为使用数据库会更有效。您可以详细解释一下。谢谢这部分需要填写哪些数据?在while循环之前(rs.next()){//Fill the data for your drop-down list}创建了一个集合或数组,其中包含要在下拉列表中显示的值。在while循环中,使用ResultSet中的值填充该集合。稍后创建下拉列表(组合框)时,只需将该集合设置为其源。