java 读取excel数据

主要是针对java语言读取excel数据进行操作,可以读取多个excel文件数据,前提:excel文件格式必须一致!
其中代码很简单,如下
方法1:
public static Map<String, List<String[]>> readExcel(File excelFile,
int rowNum) throws BiffException, IOException {
// 创建一个map 用来存储读取的内容
Map<String, List<String[]>> excelMap = new HashMap<String, List<String[]>>();
Workbook rwb = null;
Cell cell = null;
// 创建输入流
InputStream stream = new FileInputStream(excelFile);
// 获取Excel文件对象
rwb = Workbook.getWorkbook(stream);
// 获取文件的指定工作表 默认的第一个
for (int s = 0; s < rwb.getNumberOfSheets(); s++) {// 获取excel中有多少个sheet,遍历读取
List<String[]> list = new ArrayList<String[]>();
Sheet sheet = rwb.getSheet(s);
// 行数(表头的目录不需要,从1开始)
for (int i = rowNum - 1; i < sheet.getRows(); i++) {
// 创建一个数组 用来存储每一列的值
String[] str = new String[sheet.getColumns()];
// 列数
for (int j = 0; j < sheet.getColumns(); j++) {
// 获取第i行,第j列的值
cell = sheet.getCell(j, i);
str[j] = cell.getContents();
}
// 把刚获取的列存入list
list.add(str);
}
excelMap.put(sheet.getName(), list);
}
// 返回值集合
return excelMap;
}

返回map类型数据,其中map的key为excel的sheet的名称,value为sheet中数据
方法2:
通过方法2进行数据读取:
public static void main(String[] args) throws BiffException, IOException,
ParseException {
File dir = new File("g:\\数据\\");// 数据源
File[] file = dir.listFiles();
for (int i = 0; i < file.length; i++) {// 循环读取所有的excel文件
int nameIndex = file[i].getName().indexOf(".");
String name = file[i].getName().substring(0, nameIndex);
String fileName = file[i].getAbsolutePath();
Map<String, List<String[]>> excelMap=ReadCarInfo.readExcel(new File(fileName),7);
Set keysSet = excelMap.keySet();
Iterator iteratorMap = keysSet.iterator();
while(iteratorMap.hasNext()) {
String key = (String) iteratorMap.next();
List<String[]> value = excelMap.get(key);
for (int s = 0; s < value.size() - 1; s++) {
String[] str = (String[]) value.get(s);
获取的str为excel中每行的数据,获取第一列数据为str[1],一次类推。
}
}
}
}


最后需要添加jxl.jar文件
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值