Tag: jdbc

ResultSet – > XLS

我必须运行几个SQL查询,并把结果放到电子表格中。 由于我在Spring / Java环境中,我正在使用JDBC运行查询,遍历ResultSet,并使用Jakarta POI创build一个简单的XLS。 这看起来像是一个非常普遍的要求,所以我想知道是否有可用的东西 – 一个给定一些SQL查询和一个DataSource的包,可以执行这些查询并将它们的ResultSet导出到电子表格中。 有人知道这样的包吗?

用于Excel的开源JDBC驱动程序,Maven回购的CSV文件

Maven存储库中是否有Open Source Excel / CSV / XML文件JDBC驱动程序? JDBC-ODBC桥机制非常麻烦,不能很好地支持DataSource(可选function没有实现exception)。 读/写能力是必不可less的,但只读会做什么,如果没有什么更好的。

读取excel文件的内容

我正在使用JDBC来读取表格格式的Excel文件。 我在这方面非常成功。 但是,我的一个coulmns link到外部文件源。 我能够得到链接的名称,使用jdbc 反正通过JDBC获得链接的href值? 我可以利用APache POI,但这对我来说是一个巨大的维护问题

用jdbc作为List获取整行

我需要从多个表中获取数据并导出到Excel表格中。 我不想使用getXXX()方法,因为有大量的列,我不知道每列的数据types。 我需要获取整行并将结果存储在List中。 我使用getObject()获取每列,并使用MetaData.getColumnClassName()获取类types。 例如 Object val = resultSet.getObject(i); 我尝试使用getColumnClassName()将此val转换为其实际types,但在投射时它会给我一个错误。 谁能帮帮我吗。 公共类Row { public Map<Object, Class> row; public static Map<String, Class> TYPE; static { TYPE = new HashMap<String, Class>(); TYPE.put("INTEGER", Integer.class); TYPE.put("NUMERIC", BigDecimal.class); TYPE.put("DOUBLE", Double.class); TYPE.put("VARCHAR2", String.class); } public Row() { row = new HashMap<Object, Class>(); } public <t> void add(t data) { row.put(data, data.getClass()); […]

有没有办法parsing出列名而不是定义它们?

使用Java/Selenium/Excel表我有一个自动化脚本。 在validation数据库中的信息时,我正在做这样的事情: //Get values from Excel. Excel user will specify what table and what user String table=currentTestSuiteXLS.getCellData(currentTestCaseName, "table",currentTestDataSetID); String user=currentTestSuiteXLS.getCellData(currentTestCaseName, "user",currentTestDataSetID); //Run query PreparedStatement pstmt1 = conn.prepareStatement("SELECT * FROM " + table +" WHERE User = '" + user + "' ORDER BY 1 DESC LIMIT 1;"); if(table.equals("A")){ rs1.next(); //Get results from A table String […]

如何比较两个HashMap <String,List <String >>

我想比较从一个Excel文件(键是第1列,值是第2列)读取的数据,正在被放入一个HashMap从SQL查询获得的数据。 起初我使用HashMap <String,String>,因为我只需要比较<key,value>对,但现在我必须比较<key,list>,而且我有点卡住了。 这是我读取xls文件的代码: public class ReadExcel { HashMap<String, List<String>> result = new HashMap<String, List<String>>(); public HashMap<String, List<String>> process() { try { result.clear(); FileInputStream file = new FileInputStream(new File("C:/some.xlsx")); //Create Workbook instance holding reference to .xlsx file XSSFWorkbook workbook = new XSSFWorkbook(file); //Get first/desired sheet from the workbook XSSFSheet sheet = workbook.getSheetAt(0); //Iterate through each […]

Java JDBC-ODBC无法加载Excel的驱动程序

import java.sql.Connection; import java.sql.DriverManager; public class ConnectionExample { public static void main(String args[]) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (Exception e) { System.out.println("JDBC-ODBC driver failed to load."); return; } try { Connection con = DriverManager.getConnection("jdbc:odbc:abcdefg", "", ""); con.close(); } catch (Exception e) { System.out.println(e); } } } 此代码始终打印 "JDBC-ODBC driver failed to load." 我不明白是什么问题。我遵循这些步骤: 转到c:\windows\sysWOW64\odbcad32.exe […]

使用JDBC连接到Excel 8

我已经写了一个代码,将使用odbc桥从Excel查询数据。 现在在java8中没有更多的支持odbc ,我正在寻找一个相同的替代。 我有近32个不同的suce程序。 即从Excel数据库查询。 以下是一个示例程序。 private void getTheDetailedDataForRca(String userName, XSSFWorkbook workbook, XSSFSheet sheet) { // System.out.println("ph2"); try { DecimalFormat df2 = new DecimalFormat("#.##"); HashMap<String, HashMap<String, Double>> myArray; myArray = new HashMap<String, HashMap<String, Double>>(); String user = "%" + userName + "%"; String dburl = path.getDBUrl(); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); myConn = DriverManager.getConnection(dburl); String queryString = "select Error […]

如何对服务器上的20GB excel文件进​​行读写操作?

我在服务器上有几个Excel文件,我想对它们执行读写操作。 有两种方法我可以想到: 使用Apache POI并执行需要的任务(我真的怀疑这种方法,因为我遇到了很多关于stackoverflow的OutOfMemory问题,人们正努力加载大于250MB的文件) 将每个Excel文件视为数据库,并使用JDBC | ODBC执行读取和写入操作。 (这种方法比第一个更好,因为它不会将整个文件加载到内存上) 示例操作可以是: search一个string search并replace 请让我知道,如果你以前做过这样的事情,或者如果你有任何想法。 编辑:文件格式可以是xls或xlsx,它不是一个csv文件的家伙!

“已解决”使用ODBC查询Exceldate字段返回null

我使用下面的configuration来运行一个java程序从excel文件中提取数据。 其中一些列具有带时间戳上下文的数据。 平台:Win 7(x64) ODBC:Excel(x32)[通过Office 2010]; 行扫描= 8 Excel架构:“一些字段”,“date字段1”,“date字段2”,“date字段3”,“其他字段” date格式显示在Excel中:dd / mm / yyyy HH:MM Java 1.6 JDBC / ODBC驱动程序:sun.jdbc.odbc.JdbcOdbcDriver 我尝试了以下(简化)查询来提取数据: SELECT [field 1], [date field 1], [date field 2] from [Sheet1$] SELECT [field 1], [date field 1], [date field 2] from [Sheet1$] where [field 1] = "sample values" 我确定“date字段2”包含有效的date值(但为前20行清空),Java程序总是返回null为该列。 那么,我的问题是初始行的[date field 2]的空值是8行,会影响JDBC / ODBC的行为吗? […]