用java实现excelsheet数据库
是否有一种可能的方法来比较java中用户的输入 在excel工作表中具有多个属性值 我试图从用户那里读取6个输入(症状),并将其与 我的疾病症状excel表中的每个属性值 疾病症状是这样的:用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 |..
------------------------------------------------------------------------
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中的值填充该集合。稍后创建下拉列表(组合框)时,只需将该集合设置为其源。