java poi 导入Excel

来源:互联网 发布:双十一购物数据 编辑:程序博客网 时间:2024/05/16 17:26
采用poi方式读取Excel:
import java.io.File;
import java.io.FileInputStream;import java.io.IOException;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.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.junit.Test;import com.cn.entity.Emp;/** * @author Study 2017年7月17日 下午11:08:03 */public class TestReadExcel {@Test  public void readExcel03() throws IOException{          FileInputStream inputStream = new FileInputStream(new File("F://aa//excel//book2.xls"));          //读取工作簿          HSSFWorkbook workBook = new HSSFWorkbook(inputStream);          //读取工作表          HSSFSheet sheet = workBook.getSheetAt(0);          //读取总行数        int rowNum = sheet.getLastRowNum();         for (int i = 1; i <= rowNum; i++) {HSSFRow row = sheet.getRow(i);if(row == null){continue;}Emp emp = new Emp();emp.setId(getCellValue(row.getCell(0)));emp.setName(getCellValue(row.getCell(1)));emp.setSex(getCellValue(row.getCell(2)));emp.setNum(Integer.parseInt(getCellValue(row.getCell(3))));System.out.println(emp.toString());}        inputStream.close();          workBook.close();//最后记得关闭工作簿      }  @Test  public void readExcel07() throws IOException{          FileInputStream inputStream = new FileInputStream(new File("F://aa//excel//book1.xlsx"));          //读取工作簿          XSSFWorkbook workBook = new XSSFWorkbook(inputStream);          //读取工作表          XSSFSheet sheet = workBook.getSheetAt(0);          //读取总行数        int rowNum = sheet.getLastRowNum();         for (int i = 1; i <= rowNum; i++) {XSSFRow row = sheet.getRow(i);if(row == null){continue;}Emp emp = new Emp();emp.setId(getCellValue(row.getCell(0)));emp.setName(getCellValue(row.getCell(1)));emp.setSex(getCellValue(row.getCell(2)));emp.setNum(Integer.parseInt(getCellValue(row.getCell(3))));System.out.println(emp.toString());}        inputStream.close();          workBook.close();//最后记得关闭工作簿      }      //判断从Excel文件中解析出来数据的格式       private static String getCellValue(Cell cell){      String value = null;       if (cell == null || "".equals(cell)) {value = "";}else {//简单的查检列类型   switch(cell.getCellTypeEnum())   {   case NUMERIC:// 数字    long dd = (long)cell.getNumericCellValue();   value = dd+"";   break;   case STRING:// 字符串value = cell.getRichStringCellValue().getString();   break;   case FORMULA:   value = String.valueOf(cell.getCellFormula());   break;   case BLANK:   value = "";   break;      case BOOLEAN://boolean型值   value = String.valueOf(cell.getBooleanCellValue());   break;   case ERROR:   value = String.valueOf(cell.getErrorCellValue());   break;   default:   break;   }   }        return value;       } public static void main(String[] args) {System.out.println("aa"+getCellValue(null));}}

excel:


实体:


jar包:


结果:


采用jxl 方式  读取excel 文件 Unable to recognize OLE stream 错误:

原因:不支出读取 excel 2007 文件(*.xlsx)。只支持 excel 2003 (*.xls)。


原创粉丝点击