Java:从Excel读取int作为字符串返回十进制?

标签 java excel getstring

我正在尝试从 Excel 文件中读取整数,如下所示:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String myExcel = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ="";" +
                      "DriverID=22;READONLY=false";
        con = DriverManager.getConnection(myExcel);
        stmt = con.createStatement();
rs = stmt.executeQuery("select * from [users$] where userid=" + userid);
while(rs.next()) {
    System.out.println(rs.getString("phone"));
}

问题:如果我们假设 Excel 工作表中的电话 = 123456,则 rs.getString("phone") 返回小数点为 0 的整数,例如“123456.0”

我知道我可以使用 rs.getInt("phone") 代替,但电话有时会有“+”、“#”等字符。

使用 rs.getString 获取整数的最佳方法是什么??

最佳答案

尝试添加

;IMEX=1

到连接字符串。这指示驱动程序将混合数据(不同数据类型的数据)视为文本。

如果它不起作用,请尝试添加IMEX=1指令to the SQL statement 。如果这仍然不起作用,还有以下选项: 使用 Apache POI;将 Excel 工作表转换为 CSV;使用办公自动化显式设置列的数据类型;修改该值(即通过应用一些子字符串操作等)。

关于Java:从Excel读取int作为字符串返回十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134424/

相关文章:

安卓光标?如何读取对象数据?

java - JavaFX 中的繁重渲染任务(在 Canvas 中)阻塞 GUI

java - 从两个单独的传入请求注入(inject)数据

excel - VBA Range.Find 舍入负数的函数

excel - 如何使用部分文件夹名称获取文件夹路径?

android - 从另一个不工作的 Activity 中获取和设置 listPreference

java - 从 Netbeans 中的按钮获取正确的文本

java - Java中如何比较两个 "Comparable"类型变量?

VBA 代码检查每个工作表,找到包含 =TODAY() 函数的单元格,然后选择该单元格

java - JSONArray 未正确返回