Javafx窗体 将excel表格中的信息添加到窗体表格中

 首先,要先导入jxl.jar架包

jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的。

链接:https://pan.baidu.com/s/1KMh_VnYxYg3UYK4gozBQ0w https://pan.baidu.com/s/1KMh_VnYxYg3UYK4gozBQ0w 
提取码:65v0

然后新建一个java类

package Second;
import java.io.File;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import jxl.Cell;
import sample.dao.DBhepler;
import sample.character.user1;
import jxl.Sheet;
import jxl.Workbook;

public class UserService {

    //查询指定目录中电子表格中所有的数据
   public static List<user1> getAllByExcel(String file) throws Exception{
       List<user1> list = new ArrayList<user1>();
           //获取excel的文件
           Workbook rwb = Workbook.getWorkbook(new File(file));
           Sheet rs = rwb.getSheet("Sheet1");
           int clos = rs.getColumns();//得到所有的列
           int rows = rs.getRows();   //得到所有的行
          //打印出一共有几行几列
           System.out.println("列数:" + clos + "行数:" + rows);
          //循环读取数据
       for (int i = 1; i < rows; i++) {
           for (int j = 0; j < clos; j++) {
                   Cell cell = rs.getCell(j, i);
                   System.out.println(cell.getContents() + "\t");
                   String uNo = rs.getCell(j++, i).getContents();
                   String uName = rs.getCell(j++, i).getContents();
                   String uSex = rs.getCell(j++, i).getContents();
                   String uPhone = rs.getCell(j++, i).getContents();
                   String uPassword = rs.getCell(j++,i).getContents();
                   String dname = rs.getCell(j++, i).getContents();
                   String dno = rs.getCell(j++, i).getContents();

                   System.out.println("uNo:" + uNo + "uName:" + uName + "uSex:" + uSex + 
              "uPhoneN:" + uPhone + "uPassword:" + uPassword + "dname:" + dname + "dno:" + dno);
                   user1 user1 = new user1();
                   user1.setUNo(uNo);
                   user1.setUName(uName);
                   user1.setUSex(uSex);
                   user1.setUPhoneN(uPhone);
                   user1.setUPassword(uPassword);
                   user1.setDname(dname);
                   user1.setDno(dno);
                   list.add(user1);

               }

           }
       return list;
       }



    //通过id判断是否存在

    public static boolean isExist(String  id) {

        try {
           //DBhepler新建的一个数据库工具类
            DBhepler db=new DBhepler();
            ResultSet rs=db.Search("select * from user1 where uNo =? ", new String[] {id+""});
            if (rs.next()) {
                return true;
            }
        } catch (Exception e) {
            // TODO: handle exception
        }
        return false;
    }
}

关于DBhepler类,为执行数据库实现对excel表格的更新的工具类

package sample.dao;

import sample.util.DbUtil;

import java.sql.*;


/*
* excel表导入
* */
public class DBhepler {

    Connection con;
    ResultSet rs = null;

    DbUtil dbUtil=new DbUtil();
    //查询
    public ResultSet Search(String sql,String str[]) {
        try {
            try {
                con=dbUtil.getCon();
            } catch (Exception e) {
                e.printStackTrace();
            }
            PreparedStatement pst=con.prepareStatement(sql);
            if (str!=null) {
                for (int i = 0; i < str.length; i++) {
                    pst.setString(i+1, str[i]);
                }

            }

            rs=pst.executeQuery();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return rs;

    }
    //增删修改

    public int AddU(String sql,String str[]) {
        int a=0;
        try { con=dbUtil.getCon();
            PreparedStatement pst=con.prepareStatement(sql);
            if (str!=null) {
                for (int i = 0; i < str.length; i++) {
                    pst.setString(i+1, str[i]);
                }
            }
            a=pst.executeUpdate();
        } catch (Exception e) {
            // TODO: handle exception
        }

        return a;


    }
}

如果数据库中存在与excel相同的学号,则更新,如果没有存在的学号就添加 相关的学生信息

 

你可以通过以下步骤来将数据库里的信息填进面板表格内: 1. 创建一个TableView对象,用于显示表格。 2. 创建一个ObservableList对象,用于存储从数据库查询到的数据。 3. 创建一个TableColumn对象,用于指定表格每一列的字段和显示方式。 4. 将TableColumn对象添加到TableView对象。 5. 从数据库查询数据,并将查询结果存储到ObservableList对象。 6. 将ObservableList对象设置为TableView对象的数据源。 下面是一个简单的示例代码: ```java // 创建TableView对象 TableView<MyData> tableView = new TableView<>(); // 创建ObservableList对象 ObservableList<MyData> dataList = FXCollections.observableArrayList(); // 创建TableColumn对象 TableColumn<MyData, String> col1 = new TableColumn<>("字段1"); col1.setCellValueFactory(new PropertyValueFactory<>("field1")); TableColumn<MyData, String> col2 = new TableColumn<>("字段2"); col2.setCellValueFactory(new PropertyValueFactory<>("field2")); // 将TableColumn对象添加到TableView对象 tableView.getColumns().addAll(col1, col2); // 从数据库查询数据 // 假设查询结果为List<MyData> dataListFromDB // 将查询结果存储到ObservableList对象 dataList.addAll(dataListFromDB); // 将ObservableList对象设置为TableView对象的数据源 tableView.setItems(dataList); ``` 其,MyData是一个自定义的Java类,用于存储从数据库查询到的数据。在这个类,需要定义与表格每一列对应的字段,以及相应的getter和setter方法。在这个示例,假设MyData类有两个字段:field1和field2。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值