java表格获取数据_java读取Excel表的数据

package com.shine.eiuop.utils;

import org.apache.poi.ss.usermodel.*;

import org.apache.poi.hssf.usermodel.HSSFCell;

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 java.io.File;

import java.io.FileInputStream;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

/**

* @ClassName ReadExcel

* @Description TODO

* @Author shuai

* @Date 2018/8/9 17:43

* @Version 1.0

**/

public class test2 {

public static void main(String[] args) {

List> retList = readExcel("D:\\SHINE_ROOT\\mspChinese_译文.xlsx");

System.out.println("文件的数据:" + retList);

for (int i = 0; i < retList.size(); i++) {

for (Entry entry : retList.get(i).entrySet()){

System.out.println("key:"+entry.getKey()+";value:"+entry.getValue());

if ("".equals(entry.getValue())) {

}

}

}

}

public static List> readExcel(String path) {

List> retList = new ArrayList>();

File file = new File(path);

FileInputStream fis = null;

Workbook workBook = null;

if (file.exists()) {

try {

fis = new FileInputStream(file);

workBook = WorkbookFactory.create(fis);

int numberOfSheets = workBook.getNumberOfSheets();

// sheet工作表

for (int s = 0; s < numberOfSheets; s++) {

Sheet sheetAt = workBook.getSheetAt(s);

// 获取工作表名称

String sheetName = sheetAt.getSheetName();

// 获取当前Sheet的总行数

int rowsOfSheet = sheetAt.getPhysicalNumberOfRows();

// 第一行

Row row0 = sheetAt.getRow(0);

int physicalNumberOfCells = sheetAt.getRow(0).getPhysicalNumberOfCells();

String[] title = new String[physicalNumberOfCells];

for (int i = 0; i < physicalNumberOfCells; i++) {

title[i] = row0.getCell(i).getStringCellValue();

}

Integer totalCells = title.length;

for (int r = 1; r < rowsOfSheet; r++) {

Row row = sheetAt.getRow(r);

if (row == null) {

continue;

}

Map rowMap = new HashMap();

int rowNum = row.getRowNum() + 1;

System.out.println("当前行:" + rowNum);

/** 循环Excel的列 */

Cell cell0 = row.getCell(0);

String cellValue = "";

if (null != cell0) {

// 以下是判断数据的类型

switch (cell0.getCellType()) {

case HSSFCell.CELL_TYPE_STRING: // 字符串

cellValue = cell0.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean

cellValue = cell0.getBooleanCellValue() + "";

break;

case HSSFCell.CELL_TYPE_FORMULA: // 公式

cellValue = cell0.getCellFormula() + "";

break;

case HSSFCell.CELL_TYPE_BLANK: // 空值

cellValue = "";

break;

case HSSFCell.CELL_TYPE_ERROR: // 故障

cellValue = "非法字符";

break;

default:

cellValue = cell0.getStringCellValue();

break;

}

}

Cell cell1 = row.getCell(1);

String cell1Value = "";

if (null != cell1) {

// 以下是判断数据的类型

switch (cell1.getCellType()) {

case HSSFCell.CELL_TYPE_STRING: // 字符串

cell1Value = cell1.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean

cell1Value = cell1.getBooleanCellValue() + "";

break;

case HSSFCell.CELL_TYPE_FORMULA: // 公式

cell1Value = cell1.getCellFormula() + "";

break;

case HSSFCell.CELL_TYPE_BLANK: // 空值

cell1Value = "";

break;

case HSSFCell.CELL_TYPE_ERROR: // 故障

cell1Value = "非法字符";

break;

default:

cell1Value = cell1.getStringCellValue();

break;

}

}

rowMap.put(cellValue, cell1Value);

retList.add(rowMap);

}

}

if (fis != null) {

fis.close();

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} else {

System.out.println("文件不存在!");

}

return retList;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值