口拔牙西😍 喂马困
关注数: 10 粉丝数: 49 发帖数: 1,013 关注贴吧数: 152
ssm+poi 将Excel文件导入数据库时的空格问题怎么解决 public class ExcelUtils { private final static String excel2003L =".xls"; private final static String excel2007U =".xlsx"; public List<List<Object>> getBankListByExcel(InputStream in,String fileName) throws Exception{ List<List<Object>> list = null; Workbook work = this.getWorkbook(in,fileName); if(null == work){ throw new Exception("����Excel������Ϊ�գ�"); } Sheet sheet = null; Row row = null; Cell cell = null; list = new ArrayList<List<Object>>(); for (int i = 0; i < work.getNumberOfSheets(); i++) { sheet = work.getSheetAt(i); if(sheet==null){continue;} for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) { row = sheet.getRow(j); if(row==null||row.getFirstCellNum()==j){continue;} List<Object> li = new ArrayList<Object>(); for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) { cell = row.getCell(y); if(cell==null||cell.equals("")){ li.add(""); continue; } li.add(this.getValue(cell)); } list.add(li); } } return list; } public Workbook getWorkbook(InputStream inStr,String fileName) throws Exception{ Workbook wb = null; String fileType = fileName.substring(fileName.lastIndexOf(".")); if(excel2003L.equals(fileType)){ wb = new HSSFWorkbook(inStr); //2003- }else if(excel2007U.equals(fileType)){ wb = new XSSFWorkbook(inStr); //2007+ }else{ throw new Exception("�������ļ���ʽ����"); } return wb; } public String getValue(Cell cell) { String value = ""; if(null == cell ){ return value; } switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); value = format.format(date);; }else { BigDecimal big=new BigDecimal(cell.getNumericCellValue()); value = big.toString(); if(null!=value&&!"".equals(value.trim())){ String[] item = value.split("[.]"); if(1<item.length&&"0".equals(item[1])){ value=item[0]; } } } break; case Cell.CELL_TYPE_STRING: value = cell.getStringCellValue().toString(); break; case Cell.CELL_TYPE_FORMULA: value = String.valueOf(cell.getNumericCellValue()); if (value.equals("NaN")) { value = cell.getStringCellValue().toString(); } break; case Cell.CELL_TYPE_BOOLEAN: value = " "+ cell.getBooleanCellValue(); break; case Cell.CELL_TYPE_BLANK: value = " "; break; default: value = cell.getStringCellValue().toString(); } if("null".endsWith(value.trim())){ value=""; } return value; } }
1 下一页