poi excel读
1 03版poi excel读
package com.wyh.Test; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.junit.Test; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilterInputStream; /** * @program: JavaExecl * @description: 03版poi读 * @author: 魏一鹤 * @createDate: 2021-12-15 23:20 **/ public class BigDateExcelRead03 { //全局路径,供我们操作使用方便 static String path = "D:\\Tools\\JavaWorkSpace\\JavaExecl\\"; @Test public void BigDateExcelWrite03() throws Exception { //需要读取,肯定需要流 所以这边我们创建流 FileInputStream filterInputStream = new FileInputStream(path+"用户测试03.xls"); // 1 创建工作簿 使用excel可以完成的操作这边通过poi都可以完成 //把我们的流放在工作簿用 用于读取excel数据 Workbook workbook = new HSSFWorkbook(filterInputStream); //2 获取工作表 可以通过名称和下标获取工作表 这边使用下标获取 0就是第一个工作表 Sheet sheet = workbook.getSheetAt(0); //行列组成单元格 //3 获取行 下标为0就是第一个 Row row = sheet.getRow(0); //4 获取列 下标为0就是第一个 Cell cell1 = row.getCell(0); Cell cell2 = row.getCell(1); //获取单元格内容 // cell 有很多方法,获取不同的数据需要用到不同的方法getStringCellValue获取字符串 //读取值的时候 一定要只要数据类型 根据不同的数据类型使用不同的方法 String stringCellValue = cell1.getStringCellValue(); double numericCellValue = cell2.getNumericCellValue(); System.out.println(stringCellValue); System.out.println(numericCellValue); //关闭流 filterInputStream.close(); } }
2 07版poi excel读
只需要把引用对象(XSSF)和后缀(xlsx)改变即可
package com.wyh.Test; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.Test; import java.io.FileInputStream; /** * @program: JavaExecl * @description: 03版poi读 * @author: 魏一鹤 * @createDate: 2021-12-15 23:20 **/ public class BigDateExcelRead07 { //全局路径,供我们操作使用方便 static String path = "D:\\Tools\\JavaWorkSpace\\JavaExecl\\"; @Test public void BigDateExcelWrite07() throws Exception { //需要读取,肯定需要流 所以这边我们创建流 FileInputStream filterInputStream = new FileInputStream(path+"用户测试07.xlsx"); // 1 创建工作簿 使用excel可以完成的操作这边通过poi都可以完成 //把我们的流放在工作簿用 用于读取excel数据 Workbook workbook = new XSSFWorkbook(filterInputStream); //2 获取工作表 可以通过名称和下标获取工作表 这边使用下标获取 0就是第一个工作表 Sheet sheet = workbook.getSheetAt(0); //行列组成单元格 //3 获取行 下标为0就是第一个 Row row = sheet.getRow(0); //4 获取列 下标为0就是第一个 Cell cell1 = row.getCell(0); Cell cell2 = row.getCell(1); //获取单元格内容 // cell 有很多方法,获取不同的数据需要用到不同的方法getStringCellValue获取字符串 //读取值的时候 一定要只要数据类型 根据不同的数据类型使用不同的方法 String stringCellValue1 = cell1.getStringCellValue(); String stringCellValue2 = cell2.getStringCellValue(); System.out.println(stringCellValue1); System.out.println(stringCellValue2); //关闭流 filterInputStream.close(); } }