读书人

poi读取xlsx跟xls

发布时间: 2012-09-06 10:37:01 作者: rapoo

poi读取xlsx和xls

使用poi读取,jxl对于excel2007不支持

?

1. 读取xlsx 数据

??? InputStream fs?
?

???XSSFWorkbook workbook = new XSSFWorkbook(fs);
???XSSFSheet st = workbook.getSheetAt(0);

???for (int rowNumOfSheet = 1; rowNumOfSheet <= st.getLastRowNum(); rowNumOfSheet++) {
????if (null != st.getRow(rowNumOfSheet)) {
?????XSSFRow aRow = st.getRow(rowNumOfSheet); // 获得一个行

?????int cols = 0;
?????CarData carData = new CarData();
?????carData.setProvince(getCellXlsx(aRow.getCell(++cols)));

??? }

? }

?

?

public String getCellXlsx(XSSFCell cell) {
??if (cell == null)
???return "";

??switch (cell.getCellType()) {
??case XSSFCell.CELL_TYPE_NUMERIC:
???if (HSSFDateUtil.isCellDateFormatted(cell)) {
????Date d = cell.getDateCellValue();
????return formater.format(d);
???} else {
????return df.format(cell.getNumericCellValue());
???}
??case XSSFCell.CELL_TYPE_STRING:
???return cell.getStringCellValue();
??case XSSFCell.CELL_TYPE_FORMULA:
???return cell.getCellFormula();
??case XSSFCell.CELL_TYPE_BLANK:
???return "";
??case XSSFCell.CELL_TYPE_BOOLEAN:
???return cell.getBooleanCellValue() + "";
??case XSSFCell.CELL_TYPE_ERROR:
???return cell.getErrorCellValue() + "";
??}
??return "";
?}

?

2.读取xls 数据

?? HSSFWorkbook workbook = new HSSFWorkbook(fs);
???HSSFSheet st = workbook.getSheetAt(0);

???for (int rowNumOfSheet = 1; rowNumOfSheet <= st.getLastRowNum(); rowNumOfSheet++) {
????if (null != st.getRow(rowNumOfSheet)) {
?????HSSFRow aRow = st.getRow(rowNumOfSheet); // 获得一个行

?????int cols = 0;
?????CarData carData = new CarData();
?????carData.setProvince(getCell(aRow.getCell(++cols)));
????}

?? }

?

public String getCell(HSSFCell cell) {
??if (cell == null)
???return "";
??switch (cell.getCellType()) {
??case HSSFCell.CELL_TYPE_NUMERIC:
???if (HSSFDateUtil.isCellDateFormatted(cell)) {
????Date d = cell.getDateCellValue();
????return formater.format(d);
???} else {
????return df.format(cell.getNumericCellValue());
???}
??case HSSFCell.CELL_TYPE_STRING:
???return cell.getStringCellValue();
??case HSSFCell.CELL_TYPE_FORMULA:
???return cell.getCellFormula();
??case HSSFCell.CELL_TYPE_BLANK:
???return "";
??case HSSFCell.CELL_TYPE_BOOLEAN:
???return cell.getBooleanCellValue() + "";
??case HSSFCell.CELL_TYPE_ERROR:
???return cell.getErrorCellValue() + "";
??}
??return "";
?}

?

?

?

?

读书人网 >编程

热点推荐