• 大小: 666KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-06-06
  • 语言: Java
  • 标签: excel  csv  java  比对  键值  

资源简介

Main为启动类,现在只是将比对差异的内容输出到控制台 搭建项目时,记得将lib文件夹下面的jar添加到classpath中

资源截图

代码片段和文件信息

package com.excel;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.excel.service.ExcelCompareService;
import com.excel.service.FileContent;
import com.excel.service.FileServiceHelper;

public class Main {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub

String filePath1 = “D:\\me\\lzy.xls“;
String filePath2 = “D:\\me\\excel1.xls“;

try {
//相当于key,比如第一列和第二列作为关键值,搜索记录
List keyCols = new ArrayList();
keyCols.add(0);
keyCols.add(1);

//作为值比对,当找到相同key的记录,比对值是否不一样
List valCols = new ArrayList();
valCols.add(2);
FileInputStream fis1 = new FileInputStream(new File(filePath1));
FileInputStream fis2 = new FileInputStream(new File(filePath2));

//key为行号,Map为每行的内容以列为key
Map> contents1 = FileServiceHelper.getInstance().parseFile(filePath1 fis1);
Map> contents2 = FileServiceHelper.getInstance().parseFile(filePath2 fis2);
Map> results;
ExcelCompareService excelCompareService = new ExcelCompareService(contents1 contents2 keyCols valCols);
//开始比对
excelCompareService.startCompare();
//获取差异
results = excelCompareService.getResults();

if(results == null || results.size() == 0){
System.out.println(“一样的内容“);
return ;
}
Set keys1 = results.keySet();
Map rowContent ;
Set keys2 ;

for(Integer key1 : keys1){
rowContent = results.get(key1);
if(rowContent == null){
continue;
}

System.out.print(“Row :“ + key1 + “\t“);
keys2 = rowContent.keySet();
for(Integer key2 : keys2){
if(rowContent.get(key2) == null){
continue ;
}
System.out.print(rowContent.get(key2).getContent() + “\t“);
}
System.out.println();
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        388  2012-11-30 10:12  CompareExcel\.project

     文件       1368  2012-11-30 10:15  CompareExcel\src\com\excel\service\FileServiceHelper.java

     文件       1440  2012-11-30 10:15  CompareExcel\src\com\excel\service\CSVFileService.java

     文件       1076  2012-11-30 10:46  CompareExcel\src\com\excel\service\FileContent.java

     文件       1374  2012-11-30 10:15  CompareExcel\src\com\excel\service\ExcelFileService.java

     文件        292  2012-11-30 10:15  CompareExcel\src\com\excel\service\IFileService.java

     文件        682  2012-11-30 10:32  CompareExcel\src\com\excel\service\Compareobject.java

     文件       1331  2012-11-30 16:26  CompareExcel\src\com\excel\service\ExcelCompareobject.java

     文件       4716  2012-11-30 16:21  CompareExcel\src\com\excel\service\ExcelCompareService.java

     文件       2546  2012-11-30 16:23  CompareExcel\src\com\excel\Main.java

     文件       2329  2012-11-30 10:15  CompareExcel\bin\com\excel\service\CSVFileService.class

     文件       2302  2012-11-30 10:15  CompareExcel\bin\com\excel\service\ExcelFileService.class

     文件       1469  2012-11-30 10:46  CompareExcel\bin\com\excel\service\FileContent.class

     文件       2262  2012-11-30 10:15  CompareExcel\bin\com\excel\service\FileServiceHelper.class

     文件        416  2012-11-30 10:15  CompareExcel\bin\com\excel\service\IFileService.class

     文件       1219  2012-11-30 10:32  CompareExcel\bin\com\excel\service\Compareobject.class

     文件       1926  2012-11-30 16:26  CompareExcel\bin\com\excel\service\ExcelCompareobject.class

     文件       6368  2012-11-30 16:21  CompareExcel\bin\com\excel\service\ExcelCompareService.class

     文件       3852  2012-11-30 16:23  CompareExcel\bin\com\excel\Main.class

     文件        629  2012-11-30 10:12  CompareExcel\.settings\org.eclipse.jdt.core.prefs

     文件        481  2012-11-30 10:14  CompareExcel\.classpath

     文件     660390  2012-09-10 19:42  CompareExcel\lib\jxl-2.6.jar

     文件      60686  2012-09-10 19:42  CompareExcel\lib\commons-logging-1.1.1.jar

     文件      13417  2012-09-10 19:42  CompareExcel\lib\javacsv-2.0.jar

     目录          0  2012-11-30 10:14  CompareExcel\src\com\excel\service

     目录          0  2012-11-30 10:14  CompareExcel\bin\com\excel\service

     目录          0  2012-11-30 10:13  CompareExcel\src\com\excel

     目录          0  2012-11-30 10:14  CompareExcel\bin\com\excel

     目录          0  2012-11-30 10:13  CompareExcel\src\com

     目录          0  2012-11-30 10:14  CompareExcel\bin\com

............此处省略8个文件信息

评论

共有 条评论