POI读写Excel格式问题

本文详细探讨了在进行Data Migration时,使用POI读取Excel文件并将其插入Oracle数据库,之后导出回Excel的过程中,遇到的样式和格式问题。通过实例分析了两种常见问题:数据格式在读取时被额外添加样式导致不一致,以及在处理特定数据类型(如传真和电话号码)时,程序获取的数据与原始Excel数据在格式上存在差异。提出了解决方案,包括如何获取原始未加修饰的单元格值以及如何正确设置单元格类型以避免格式转换错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做Data Migration的时候,POI读取Excel,插入Oracle,再导出到excel,和之前的excel去比对看看数据是否有问题。过程中反复遇到格式和数据的问题,下面列出2个问题:

1.Excel里面的内容被加了一些格式和修饰,导致用程序取到的数据和原excel中的数据完全不一样,很奇怪的数据。

解决办法:

//Returns the raw, underlying ooxml value for the cell
String cell = row.getCell(j).getRawValue();
取得excel未加修饰的真实值。


2.Excel里面的内容是一些数值之类的,主要是处理像传真、电话(excel显示的是没有小数点儿的,但用程序取得的就是有小数点儿的)之类的数据的时候,导致用下面直接转化成字符串的方式得到的数据和原excel的数据格式不匹配。

String cell = row.getCell(j).toString();
解决办法:

为了解决格式的问题,邵亮帮我找到了这个方法,设置excel 的存放数值的cell格式为字符串,这样程序取得的值就不会给加上小数点儿了

row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
String cell = row.getCell(j).toString();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值