解决poi导入Ecxcel表格字符串解析成数字问题

通过Excel模板修改解决POI导入时字符串1111变为1111.0的问题。步骤包括选中列,使用【数据】->【分列】,选择分隔符号,然后用Tab键,最后将列数据类型设置为文本。
解决poi导入Ecxcel表格字符串解析成数字问题
解决poi导入Ecxcel表格1111解析成1111.0问题

我是通过修改Excel模板来解决此问题的

1、打开Excel表格,选中一列
2、在上方工具栏选择【数据】–【分列】

在这里插入图片描述

3、选择分隔符号,点击下一步

在这里插入图片描述

4、选择Tab键,点击下一步

在这里插入图片描述

5、列数据类型选择-文本,点击完成。

在这里插入图片描述
重新导入即不会出现上述问题。

站内引用未提及Java导入表格时将字符串转换为数字的方法,不过在Java里,有多种通用方式能把字符串转换为数字,下面是一些常见方法的示例。 ### 转换为整数(int) 可以使用`Integer.parseInt()`方法把字符串转换为整数,示例代码如下: ```java public class StringToIntExample { public static void main(String[] args) { String str = "123"; int num = Integer.parseInt(str); System.out.println(num); } } ``` ### 转换为长整数(long) 使用`Long.parseLong()`方法将字符串转换为长整数,示例代码如下: ```java public class StringToLongExample { public static void main(String[] args) { String str = "1234567890"; long num = Long.parseLong(str); System.out.println(num); } } ``` ### 转换为浮点数(float) 利用`Float.parseFloat()`方法把字符串转换为浮点数,示例代码如下: ```java public class StringToFloatExample { public static void main(String[] args) { String str = "123.45"; float num = Float.parseFloat(str); System.out.println(num); } } ``` ### 转换为双精度浮点数(double) 使用`Double.parseDouble()`方法将字符串转换为双精度浮点数,示例代码如下: ```java public class StringToDoubleExample { public static void main(String[] args) { String str = "123.456"; double num = Double.parseDouble(str); System.out.println(num); } } ``` 当从表格导入数据时,通常需要遍历表格的每一行每一列,获取单元格的字符串值,接着使用上述方法进行转换。如果使用Apache POI库来处理Excel表格,以下是一个简单示例: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class ExcelStringToNumber { public static void main(String[] args) { try (FileInputStream file = new FileInputStream(new File("example.xlsx")); Workbook workbook = new XSSFWorkbook(file)) { Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { if (cell.getCellType() == CellType.STRING) { String cellValue = cell.getStringCellValue(); try { double number = Double.parseDouble(cellValue); System.out.println("Converted number: " + number); } catch (NumberFormatException e) { System.out.println("Could not convert " + cellValue + " to a number."); } } } } } catch (IOException e) { e.printStackTrace(); } } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值