首页 > 解决方案 > 从 excel 中读取 SQL 查询,输出应保存在同一个 excel 中

问题描述

在 Selenium-java 中,我想从 excel 单元格中读取 SQL 查询并将其传递到 JDBC 代码中。获得的输出(即来自数据库的数据)应保存在 excel 中。有人可以建议或帮助我吗?

标签: javaselenium

解决方案


这不是一个解决方案,但应该让您了解如何从数据库中读取并将其写入 excel -

  1. 连接到数据库

根据您的数据库,应该有关于如何连接的文档。这是 SQL Server 的一个示例。

https://docs.microsoft.com/en-us/sql/connect/jdbc/step-3-proof-of-concept-connecting-to-sql-using-java?view=sql-server-ver15

  1. 一旦您能够连接到您的数据库,编写一个查询并将其存储在一个字符串中

    公共静态最终字符串供应商WithBank="MyQuery";

  2. 创建一个连接到数据库、执行和存储查询值的方法。像这样的东西:

公共静态地图<字符串,字符串> rawSuppliersWithBank(){

    PreparedStatement ps;
    ResultSet rs;

    Map<String, String> bankWithSuppliers = new HashMap<String, String>();

    String connectionUrl = "Pass your connection String";

    try (Connection con = DriverManager.getConnection(connectionUrl); Statement stmt = con.createStatement();) {
        String SQL = Sql.supplierWithBank;// Pass SQL 
        ps = con.prepareStatement(SQL);
        ps.setInt(1, DataExperiment.marketid());

        rs = ps.executeQuery();

        while (rs.next()) {

            bankWithSuppliers.put("supplierName", rs.getString(2));
            bankWithSuppliers.put("brandName", rs.getString(3));

        }

        con.close();

    }
    // Handle any errors that may have occurred.
    catch (SQLException e) {
        e.printStackTrace();

    }

    return bankWithSuppliers;

}
  1. 您可以使用在步骤 3 中创建的方法来获取存储的数据,例如Map<String, String> supplierWithBank = new HashMap<String, String>();-supplierWithBank.get("supplierName") ,一旦获得数据,请使用您的 Excel 实用程序(您可以谷歌搜索,网上有很多关于如何读取数据并将数据写入 excel)以将该数据存储到 excel 中。一个例子可以在这里找到。

https://github.com/naveenanimation20/NewExcelUtil2020_ApachePOI/blob/master/src/main/java/com/excel/lib/util/Xls_Reader.java


推荐阅读