读取Excel表格内容的方法
class AnalysExcel {
Workbook workbook;
File Inputfile;
public Map<String, String> excel(String file, int key, int value) {
Inputfile = new File(file);
// Unable to recognize OLE stream 不支持xlsx格式 支持xls格式
Map<String, String> map = new HashMap<>();
try {
FileInputStream fileInputStream = new FileInputStream(Inputfile);
workbook = Workbook.getWorkbook(fileInputStream);
Sheet readfirst = workbook.getSheet(0);
int rows = readfirst.getRows();
int clomns = readfirst.getColumns();
System.out.println(rows);
System.out.println(clomns);
for(int i = 0; i < rows; i++) {
Cell[] cells = readfirst.getRow(i); //循环得到每一行的单元格对象
try {
String valueContents = cells[value].getContents();
if (valueContents != null && !valueContents.trim().equals("")) {
if (value == 1) {
map.put(cells[key].getContents().trim(), valueContents.substring(valueContents.lastIndexOf("长度") + 1));
} else {
map.put(cells[key].getContents().trim(), valueContents.trim());
}
}
} catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return map;
}
}
运用上述方法读取对应的表格
AnalysExcel excel = new AnalysExcel(); Map<String, String> map1 = excel.excel("Files.xls",0, 1); System.out.println(map1);