具体的意思请看图片
上边的两个表我们分别称为excel1和excel2,其中excel1中的A列只是excel2中A列的一部分,现在我们想以两个表的A列为匹配ID来使得excel1后边列的数据也能按照对应的ID填入excel2中。
1:首先安装配置eclipse,在此不再过多叙述,可以问度娘;
2:下载poi.jar,在eclipse中引用,具体链接https://www.apache.org/dyn/closer.lua/poi/dev/bin/poi-bin-3.17-beta1-20170701.tar.gz
只需要压缩包中的poi-3.17-beta1.jar;
3:另新建一个excel,我们这里成为excel3,作为写入的excel;
4:上代码:
package wang_readExcel;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class readWrite {
public static void main(String[] args) throws FileNotFoundException, IOException {
String fileInput="E:\\java.jar\\tea_wang\\excel1.xls";
String fileResult="E:\\java.jar\\tea_wang\\excel2.xls";
FileOutputStream fos = new FileOutputStream("E:\\java.jar\\tea_wang\\result_excel_part\\excel3.xls");
HSSFWorkbook workbook1 = new HSSFWorkbook(new FileInputStream(fileInput));
HSSFWorkbook workbook2 = new HSSFWorkbook(new FileInputStream(fileResult));
HSSFWorkbook reference = new HSSFWorkbook();
HSSFSheet sheet1 = workbook1.getSheet("Sheet1");
HSSFSheet sheet2 = workbook2.getSheet("Sheet1");
HSSFSheet resheet = reference.createSheet("reference");
int rows1=sheet1.getPhysicalNumberOfRows();
int rows2=sheet2.getPhysicalNumberOfRows();
for(int i=0;i<rows2;i++){
HSSFRow row2 = sheet2.getRow(i);
HSSFCell cell2 = row2.getCell(0);
double value2 = cell2.getNumericCellValue();
for(int j=0;j<rows1;j++){
HSSFRow row1 = sheet1.getRow(j);
HSSFCell cell1 = row1.getCell(0);
double value1 = cell1.getNumericCellValue();
if(value1==value2){
HSSFRow get_value = resheet.createRow(i);
get_value.createCell(1).setCellValue(row1.getCell(1).getNumericCellValue());
}
}
}
reference.write(fos);
fos.close();
}
}
5:最终在excel3中生成的数据如下所示:
6:我们将excel2中的A列数据复制粘贴到excel3中的A列,然后和excel1做对比如下:(左侧为excel3,右侧为excel1)
此时我们发现匹配正确,大功告成。
7:我们继续将excel3中的B列其它无值的单元格填充为0,具体操作步骤如下:
https://jingyan.baidu.com/article/3d69c55152b887f0cf02d7d5.html
最终结果如下:
如对您有用,请给予参考。