分享一篇利用poi 写的将excel转化为map的方法
来源:互联网 发布:淘宝申请退货在哪里 编辑:程序博客网 时间:2024/06/18 11:49
public Map<Integer,Map<Integer,List<String>>> getExcel(POIFSFileSSystem in){
Map<Integer,Map<Integer,List<String>>> map=new HashMap<Integer,Map<Integer,List<String>>> ();
Map<Integer,List<String>> sheetMap=null;
HSSFWorkbook book=null;
book=new HSSFWorkbook(in);
int sheetSize=workbook.getNumberOfSheets();
for(int i=0;i<sheetSize;i++){
sheetMap=new HashMap<Integer,List<String>>();
HSSFSheet sheet=book.getSheetAt(i);
int rows=sheet.getPhysicalNumberOfrRows();
if(row>0){
for(int j=0;j<rows;j++){
list=new ArrayList<String>();
HSSFRow row=sheet.getRow(j);
if(row!=null){
int cells=row.getLastCellNum();
for(int k=0;k<cells;k++){
HSSFCell cell=row.getCell(k);
String value="";
switch(cell.getCellType){
case HSSFCell.CELL_TYPE.NUMBERIC;
if(HSSFDateUtil.isCellDateFormatted){
value=HSSFDateUtil.getJavaDate(cell.getNumbericCellValue()).toString();
}
else{
value=String.valueOf(cell.getNumbericCellValue());
}
if(value.matchs("^((\\d+\\.?\\d)[Ee]{1}(\\d)){1}quot;")){
DecimalFormat df=new DecimalFormat("#.##");
value=df.format(Double.parseDouble(value));
}
break;
case HSSFCell.CELL_TYPE_STRING:
value=cell.getRichStringCellValue().toString().trim();
break;
case HSSFCell.CELL_TYPE_FORMULA :
value=String.valueOf(cell.getNumbericCellValue());
if(value.equals("NaN")){
value=cell.getRichStringCellValue().toString();
}
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
value=""+cell.getBooleanCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
value="";
break;
case HSSFCell.CELL_TYPE_ERROR:
value="";
break;
default:
value=cell.getRichStringCellValue().toString().trim();
break;
}
}
list.add(value);
}
if(!isAllNullByList(list)){
sheetMap.put(j,list);
}
}
}
}
map.put(i,sheetMap);
}
return map;
}
Map<Integer,Map<Integer,List<String>>> map=new HashMap<Integer,Map<Integer,List<String>>> ();
Map<Integer,List<String>> sheetMap=null;
HSSFWorkbook book=null;
book=new HSSFWorkbook(in);
int sheetSize=workbook.getNumberOfSheets();
for(int i=0;i<sheetSize;i++){
sheetMap=new HashMap<Integer,List<String>>();
HSSFSheet sheet=book.getSheetAt(i);
int rows=sheet.getPhysicalNumberOfrRows();
if(row>0){
for(int j=0;j<rows;j++){
list=new ArrayList<String>();
HSSFRow row=sheet.getRow(j);
if(row!=null){
int cells=row.getLastCellNum();
for(int k=0;k<cells;k++){
HSSFCell cell=row.getCell(k);
String value="";
switch(cell.getCellType){
case HSSFCell.CELL_TYPE.NUMBERIC;
if(HSSFDateUtil.isCellDateFormatted){
value=HSSFDateUtil.getJavaDate(cell.getNumbericCellValue()).toString();
}
else{
value=String.valueOf(cell.getNumbericCellValue());
}
if(value.matchs("^((\\d+\\.?\\d)[Ee]{1}(\\d)){1}quot;")){
DecimalFormat df=new DecimalFormat("#.##");
value=df.format(Double.parseDouble(value));
}
break;
case HSSFCell.CELL_TYPE_STRING:
value=cell.getRichStringCellValue().toString().trim();
break;
case HSSFCell.CELL_TYPE_FORMULA :
value=String.valueOf(cell.getNumbericCellValue());
if(value.equals("NaN")){
value=cell.getRichStringCellValue().toString();
}
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
value=""+cell.getBooleanCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
value="";
break;
case HSSFCell.CELL_TYPE_ERROR:
value="";
break;
default:
value=cell.getRichStringCellValue().toString().trim();
break;
}
}
list.add(value);
}
if(!isAllNullByList(list)){
sheetMap.put(j,list);
}
}
}
}
map.put(i,sheetMap);
}
return map;
}
0 0
- 分享一篇利用poi 写的将excel转化为map的方法
- 基于poi,将excel表转化为实体类列表的工具类
- 分享个将excel导为DB数据的方法
- 利用POI将XML里的宽度转换为Excel的宽度
- 利用exceljs将excel转化为json
- 利用POI将读取的数据写入Excel
- 将一篇文章转化为语音朗读的实践
- 将文件转化为字符串的方法
- poi 将excel转换为html的java代码
- 利用POI将Excel文档转换为Html
- 将数值转化为对应的excel列
- 关于Java利用poi操作Excel的方法
- 利用map将“简写信件”转化为“原始信件”
- 利用map将“简写信件”转化为“原始信件”
- C++利用STL的stack将十进制转化为八进制
- 利用xls-to-json将excel转化为json
- 使用POI和Dom4j将excel转换为xml格式的excel
- 将Object对象转化为String的几种方法
- Android设置透明、半透明等效果
- Dialog源码分析
- lodash常用函数解释
- 寻找Coder(toupper 的用法)--------去哪儿2015研发工程师笔试题
- Roman to Integer
- 分享一篇利用poi 写的将excel转化为map的方法
- 首个重复字符(map的用法)----去哪儿2015研发工程师笔试题
- 优酷视频控制
- zcmu1736
- POJ 1915 BFS 同HDU1372
- 使用Windows 自带的 sc 工具操作驱动程序
- maven相关链接
- 单链表专题
- Hibernate学习笔记之Hibernate原理分析及模拟Hibernate实现