java读取excel文件并返回list结果集
来源:互联网 发布:人工智能电影剧情简介 编辑:程序博客网 时间:2024/06/11 18:09
/** * 用于读取excel * @author HUA *<span style="font-family: Arial, Helvetica, sans-serif;">count 为excel中的子文档号</span> */public class excelload{ public static List<Map<String,Object>> loadExcel(String filepath,int count){ //创建Excel工作簿文件的引用 XSSFWorkbook wookbook=null; try{ wookbook = new XSSFWorkbook(new FileInputStream(filepath));//根据路劲创建引用 }catch(FileNotFoundException e){ // TODO Auto-generated catch block e.printStackTrace(); }catch(IOException e){ // TODO Auto-generated catch block e.printStackTrace(); } //在excel文档中,第一个工作表的缺省索引是0 XSSFSheet sheet=wookbook.getSheetAt(count); //获取到excel文件中的所有行数 int rows = sheet.getPhysicalNumberOfRows(); int shengchanstart=0; List<Map<String,Object>> li = new ArrayList<Map<String,Object>>(); boolean boo =false; for(int i=1;i<rows;i++){ XSSFRow row = sheet.getRow(i); if(row!=null){ //获取文件中的所有列 int cells = row.getPhysicalNumberOfCells(); String value=""; //遍历列 if(!boo){ aa: for(int j=0;j<cells;j++){ XSSFCell cell = row.getCell((short)j); if(cell!=null){ switch(cell.getCellType()){ case XSSFCell.CELL_TYPE_FORMULA: System.out.println(cell.getCellFormula() + "=====================");; break; case XSSFCell.CELL_TYPE_NUMERIC: value += cell.getNumericCellValue() + ","; break; case XSSFCell.CELL_TYPE_STRING: if("表名".equals(cell.getStringCellValue())){ boo=true; break aa; } value += cell.getStringCellValue() + ","; default: value += ""; break; } } } }else{ XSSFCell cell = row.getCell((short)1); Map<String,Object> map = new HashMap<String, Object>(); if(!"".equals(cell.getStringCellValue())){ String tablename=getMergedRegionValue(sheet,i); map.put("table",tablename); map.put("fieldname",row.getCell((short)(shengchanstart+2)).getStringCellValue()); map.put("desc",row.getCell((short)(shengchanstart+1)).getStringCellValue()); System.out.println(tablename+"**********"); li.add(map); } //System.out.println(i+"**********"); } } } System.out.println(li); return li; }
--调用的方法
/** * 获取合并单元格的值 * @param sheet * @param row * @param column * @return */ public static String getMergedRegionValue(Sheet sheet ,int row ){ int sheetMergeCount = sheet.getNumMergedRegions(); for(int i = 0 ; i < sheetMergeCount ; i++){ org.apache.poi.ss.util.CellRangeAddress ca = sheet.getMergedRegion(i); int firstColumn = ca.getFirstColumn(); int lastColumn = ca.getLastColumn(); int firstRow = ca.getFirstRow(); int lastRow = ca.getLastRow(); if(row >= firstRow && row <= lastRow){ Row fRow = sheet.getRow(firstRow); Cell fCell = fRow.getCell(firstColumn); return getCellValue(fCell) ; } } return null ; } /** * 获取单元格的值 * @param cell * @return */ public static String getCellValue(Cell cell){ if(cell == null) return ""; if(cell.getCellType() == Cell.CELL_TYPE_STRING){ return cell.getStringCellValue(); }else if(cell.getCellType() == Cell.CELL_TYPE_BOOLEAN){ return String.valueOf(cell.getBooleanCellValue()); }else if(cell.getCellType() == Cell.CELL_TYPE_FORMULA){ return cell.getCellFormula() ; }else if(cell.getCellType() == Cell.CELL_TYPE_NUMERIC){ return String.valueOf(cell.getNumericCellValue()); } return ""; }
1 0
- java读取excel文件并返回list结果集
- Java读取文件并返回字节数组
- java写入Excel并读取文件
- Java读取Excel文件并写入数据库
- robot framework读取Excel文件,并保存为list
- java读取excel文件并写入另一个excel文件
- ssh调用存储过程,并返回list结果集
- java读取csv数据到list缓存,并对list集合分组统计结果
- Java上传excel文件并读取文件内容
- 【MFC】通过system调用exe并通过文件流读取返回结果
- 读取EXCEL文件并查询
- Powershell调用Excel批量读取指定单元格数据并输出csv结果文件
- 从JAVA直接读取EXCEL、WORD并生成PDF文件
- 在Java中读取并保存EXCEL文件中图片
- 在Java中读取并保存EXCEL文件中图片
- Java SpringMVC POI上传excel并读取文件内容
- java上传excel文件并读取表格信息
- java读取excel文件
- 采矿(oremine)题解
- Mongodb启动命令mongod参数说明
- 【字符串转置】 字符串包含长度不等的字符
- R语言tar.gz 后缀window环境安装攻略
- 关于struts2中default-action-ref的一些问题及首页设置
- java读取excel文件并返回list结果集
- js 数字四舍五入
- es配置文件详细说明
- jquery中$.post()方法的简单实例【转】
- union和union all的区别
- 【bzoj1821】【jsoi2010】【部落划分】【贪心+并查集】
- 【unity-lua】笔记(备忘)
- 排序算法简介及其C实现
- OC基础教程6-对象初始化