求助POI操作excel的问题!
本人最近做一个数据库的文件导入功能,需要从excel中读取数据代码如下:
/**
* 获取单元格数据内容为字符串类型的数据
*
* @param cell
* Excel单元格
* @return String 单元格数据内容
* @throws ParseException
*/
private String getStringCellValue(HSSFCell cell) throws ParseException {
String strCell = "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
strCell = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
strCell = String.valueOf((int)cell.getNumericCellValue());
boolean flag1=HSSFDateUtil.isCellDateFormatted(cell);
if(flag1){
strCell = DateUtil.dateFormat(cell.getDateCellValue(), "yyyy-MM-dd HH:mm");
}
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
strCell = String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_BLANK:
strCell = "";
break;
default:
strCell = String.valueOf(cell.getDateCellValue());
break;
}
if (strCell.equals("") || strCell == null) {
return "";
}
if (cell == null) {
return "";
}
return strCell;
}
//取得每行的值存入一个数组
public String[] getClomn(HSSFRow row) throws ParseException {
String[] clomn = new String [20];//;
HSSFCell cell;
for (int i = 0; i < 13; i++) {
row.getCell((short)i).setCellType(HSSFCell.CELL_TYPE_STRING);
clomn[i] = getStringCellValue(row.getCell((short) i));
// clomn[i]=(String) iterator.next();
}
return clomn;
读取Stringde的时候没有问题,但是在读取excel中的数字格式数据的时候出现了数据丢失现象,在数据库执行导入的时候没有报错,但是入库的数据明显不对,只要大于
‘214332728’(数字可能不准确记不清楚了)这个数字的数据数据库中全为这个数,原始数据全部丢失:
1、由于库中数据特殊,一般都是10位以上
2、数据量大,单纯的在表中全部转为文本格式,读取的时候还是出错。
求助高手解答如何读取数据值大的数据?
/**
* 获取单元格数据内容为字符串类型的数据
*
* @param cell
* Excel单元格
* @return String 单元格数据内容
* @throws ParseException
*/
private String getStringCellValue(HSSFCell cell) throws ParseException {
String strCell = "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
strCell = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
strCell = String.valueOf((int)cell.getNumericCellValue());
boolean flag1=HSSFDateUtil.isCellDateFormatted(cell);
if(flag1){
strCell = DateUtil.dateFormat(cell.getDateCellValue(), "yyyy-MM-dd HH:mm");
}
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
strCell = String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_BLANK:
strCell = "";
break;
default:
strCell = String.valueOf(cell.getDateCellValue());
break;
}
if (strCell.equals("") || strCell == null) {
return "";
}
if (cell == null) {
return "";
}
return strCell;
}
//取得每行的值存入一个数组
public String[] getClomn(HSSFRow row) throws ParseException {
String[] clomn = new String [20];//;
HSSFCell cell;
for (int i = 0; i < 13; i++) {
row.getCell((short)i).setCellType(HSSFCell.CELL_TYPE_STRING);
clomn[i] = getStringCellValue(row.getCell((short) i));
// clomn[i]=(String) iterator.next();
}
return clomn;
读取Stringde的时候没有问题,但是在读取excel中的数字格式数据的时候出现了数据丢失现象,在数据库执行导入的时候没有报错,但是入库的数据明显不对,只要大于
‘214332728’(数字可能不准确记不清楚了)这个数字的数据数据库中全为这个数,原始数据全部丢失:
1、由于库中数据特殊,一般都是10位以上
2、数据量大,单纯的在表中全部转为文本格式,读取的时候还是出错。
求助高手解答如何读取数据值大的数据?
...全文
相关推荐
POI操作Excel完美生成水印
POI操作Excel生成水印,该水印其实就是一个图片,该代码是将文字生成图片,再将图片变成水印的。
POI生成Excel POI操作Excel POI读取Excel POI类库
POI生成Excel POI读取Excel java操作Excel Servlet生成Excel web项目,包含含读取Excel与生成Excel方法
SpringMvc+POI 处理Excel的导入操作
springMVC 整合poi导入数据,在很多项目中都会使用,能大大减少很多工作量
java使用POI操作excel文件
本文主要介绍了java使用POI操作excel文件,实现批量导出和导入的方法。具有很好的参考价值。下面跟着小编一起来看下吧
JAVA操作excel poi
JAVA操作excel poi poi.jarJAVA操作excel poi poi.jarJAVA操作excel poi poi.jarJAVA操作excel poi poi.jar


Web 开发
