做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();