怎么用java把excel中的数据一行一行的读出来

如题所述

public class ReadExcel001 { public static void main(String[] args) { readXml("D:/test.xlsx"); System.out.println("-------------"); readXml("d:/test2.xls"); } public static void readXml(String fileName){ boolean isE2007 = false; //判断是否是excel2007格式 if(fileName.endsWith("xlsx")) isE2007 = true; try { InputStream input = new FileInputStream(fileName); //建立输入流 Workbook wb = null; //根据文件格式(2003或者2007)来初始化 if(isE2007) wb = new XSSFWorkbook(input); else wb = new HSSFWorkbook(input); Sheet sheet = wb.getSheetAt(0); //获得第一个表单 Iterator<Row> rows = sheet.rowIterator(); //获得第一个表单的迭代器 while (rows.hasNext()) { Row row = rows.next(); //获得行数据 System.out.println("Row #" + row.getRowNum()); //获得行号从0开始 Iterator<Cell> cells = row.cellIterator(); //获得第一行的迭代器 while (cells.hasNext()) { Cell cell = cells.next(); System.out.println("Cell #" + cell.getColumnIndex()); switch (cell.getCellType()) { //根据cell中的类型来输出数据 case HSSFCell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: System.out.println(cell.getStringCellValue()); break; case HSSFCell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: System.out.println(cell.getCellFormula()); break; default: System.out.println("unsuported sell type"); break; } } } } catch (IOException ex) { ex.printStackTrace(); } } }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-01
//创建文件输入流对象FileInputStreamis=newFileInputStream("src/readExcel.xls");//创建POI文件系统对象POIFSFileSystemts=newPOIFSFileSystem(is);//获取文档对象HSSFWorkbookwb=newHSSFWorkbook(ts);//获取工作薄HSSFSheetsheet=wb.getSheetAt(0);//声明行对象HSSFRowrow=null;//通过循环获取每一行for(inti=0;sheet.getRow(i)!=null;i++){row=sheet.getRow(i);//循环获取一行的中列for(intj=0;row.getCell(j)!=null;j++){System.out.print(row.getCell(j).toString()+"");}System.out.println();}本回答被提问者采纳
第2个回答  2017-11-01
请了解poi相关知识
相似回答