我有2张excel表:
我需要从表1到表2获得相关数据。
String input2 = "C:/Users/CHATHURANGA/Desktop/fiverr/New folder/Sheet2.xlsx";
FileInputStream excelFile2 = new FileInputStream(new File(input2));
Workbook workbook3 = new XSSFWorkbook(excelFile2);
Sheet datatypeSheet2 = workbook3.getSheetAt(0);
Iterator<Row> iterator2 = datatypeSheet2.iterator();
while (iterator2.hasNext()) {
Row currentRow = iterator2.next();
Iterator<Cell> cellIterator2 = currentRow.iterator();
while (cellIterator2.hasNext()) {
Cell currentCell = cellIterator2.next();
//getCellTypeEnum shown as deprecated for version 3.15
//getCellTypeEnum ill be renamed to getCellType starting from version 4.0
if (currentCell.getCellTypeEnum() == CellType.STRING) {
System.out.print(currentCell.getStringCellValue() + "--");
} else if (currentCell.getCellTypeEnum() == CellType.NUMERIC) {
System.out.print(currentCell.getNumericCellValue() + "--");
}
}
System.out.println();
}
我将以与上面所示相同的方式阅读第1页。
如何将表2中的ID与表1中的相关数据进行匹配?
答案 0 :(得分:0)
你的原型:
从sheet1创建函数读取数据:
public HashMap<String, String> getSheet1Data (Sheet sheet1){
HashMap<String, String> map = new HashMap<>();
for (Row row : sheet1){
map.put (row.getCell(1).getValueAsString(), row.getCell(2).getValueAsString());
}
return map;
}
在主类中创建一个函数来填充数据到sheet2
public void populateSheet2 (HashMap<String, String> map, Sheet sheet2){
for (Row row : sheet2){
String id = row.getCell(1).getValueAsString();
String data = map.get(id);
row.createCell(2).setValue(data);
}
}