POI读取Excel数据
Posted wakey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI读取Excel数据相关的知识,希望对你有一定的参考价值。
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.InputStream; public class PoiExcel /** * HSSF:Excel97-2003版本,扩展名为.xls 一个sheet最大行数65536,最大列数256 * XSSF:Excel2007版本开始,扩展名为.xlsx 一个sheet最大行数1048576,最大列数16384 */ public static void main(String[] args) throws Exception XSSFWorkbook workbook; // 工作簿 XSSFSheet sheet; // 工作表 XSSFRow row; // 行 XSSFCell cell; // 列 InputStream in = new FileInputStream("E:\\\\ExcelTest.xlsx"); //解析工作簿 workbook = new XSSFWorkbook(in); //获取工作表的数量 int size = workbook.getNumberOfSheets(); System.out.println("工作表数量: "+size); //循环读取每一个工作表中的数据 for(int i=0;i<size;i++) sheet = workbook.getSheetAt(i); //工作表 System.out.println("工作表名: "+sheet.getSheetName()); //获取有效的行数 int rowNumber = sheet.getPhysicalNumberOfRows(); for (int rowIndex = 0;rowIndex<rowNumber;rowIndex++) System.out.println("正在读取第"+(rowIndex+1)+"行"); if (rowIndex==0)//去除表头数据 continue; row = sheet.getRow(rowIndex); //循环读取每一列的数据 for(int cellIndex=0;cellIndex<3;cellIndex++) cell = row.getCell(cellIndex); switch (cell.getCellType()) case XSSFCell.CELL_TYPE_NUMERIC: System.out.println("列的值: "+String.valueOf(cell.getNumericCellValue())); break; case XSSFCell.CELL_TYPE_STRING: System.out.println("列的值: "+cell.getStringCellValue()); break; default: System.out.println("列的值: "+cell.getStringCellValue()); break;
Excel数据:
打印结果:
以上是关于POI读取Excel数据的主要内容,如果未能解决你的问题,请参考以下文章