您的位置:首页 > 其它

读取excel文件数据,封装成hashmap

2016-07-19 21:29 309 查看
需要jxl包,程序下载:链接:http://pan.baidu.com/s/1slCIfUl 密码:gd3k

注意:jxl只能读取.xls文件,不能识别.xlsx。

package test;

import java.io.File;
import java.security.KeyStore.Entry;
import java.util.HashMap;

import jxl.Sheet;
import jxl.Workbook;
public class ReadExcelToMap {

public static void main(String[] args) throws Exception {

//通过Workbook的静态方法getWorkbook选取Excel文件
String relativePath = System.getProperty("user.dir");
String path=relativePath+"\\file\\12.xls";
Workbook workbook = Workbook.getWorkbook(new File(path));
HashMap<String,String> dataMap = getDataMap(workbook);
workbook.close();
printMap(dataMap);
}
/**
* 根据excel得到map数据
* @param workbook
* @return
*/
private static  HashMap<String,String> getDataMap(Workbook workbook) {
//通过Workbook的getSheet方法选择第一个工作簿(从0开始)
Sheet sheet = workbook.getSheet(0);

int rows = sheet.getRows();
int cols = sheet.getColumns();
HashMap<String,String> dataMap = new HashMap<String, String>();
for(int colNum=1;colNum<cols;++colNum){
for(int rowNum=1;rowNum<rows;++rowNum){
//获取单元格值
String zNumStr = sheet.getCell(colNum,rowNum).getContents().trim();
//double zNum = Double.parseDouble(zNumStr);
//获取当前z值的x值
String curRowXStr = sheet.getCell(0,rowNum).getContents();
//Double curRowX = Double.parseDouble(curRowXStr);
//获取当前z值的Y值
String curColYStr = sheet.getCell(colNum,0).getContents();
// Double curColY = Double.parseDouble(curColYStr);
String key = "("+curRowXStr+","+curColYStr+")";
dataMap.put(key, zNumStr);
}
}
return dataMap;
}
private static void printMap(HashMap<String,String> dataMap){
for (java.util.Map.Entry<String, String> en: dataMap.entrySet()) {
System.out.println(en.getKey()+"..."+en.getValue());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: