以下是一个Java程序示例,用于比较两个Excel文件中的"A"列内容,并输出分析结果,包括新增的内容、被删除的内容和保留的内容。程序使用Apache POI库来读取Excel文件,并使用集合来进行比较和分析。
请确保你已经下载并导入了Apache POI库(可从 poi.apache.org/ 下载)。同时,需要将第一个Excel文件和第二个Excel文件放在同一个文件夹下,并将文件名作为参数传递给程序。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ExcelComparator {
public static void main(String[] args) {
String file1Path = "[第一个Excel文件路径]";
String file2Path = "[第二个Excel文件路径]";
try {
List<String> file1Content = readColumnContent(file1Path, "A");
List<String> file2Content = readColumnContent(file2Path, "A");
Set<String> addedContent = new HashSet<>(file2Content);
addedContent.removeAll(file1Content);
Set<String> deletedContent = new HashSet<>(file1Content);
deletedContent.removeAll(file2Content);
Set<String> retainedContent = new HashSet<>(file1Content);
retainedContent.retainAll(file2Content);
System.out.println("新增的内容:");
for (String content : addedContent) {
System.out.println(content);
}
System.out.println("\n被删除的内容:");
for (String content : deletedContent) {
System.out.println(content);
}
System.out.println("\n保留的内容:");
for (String content : retainedContent) {
System.out.println(content);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static List<String> readColumnContent(String filePath, String column) throws IOException {
List<String> content = new ArrayList<>();
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0); // 假设只有一个表格
for (Row row : sheet) {
Cell cell = row.getCell(CellReference.convertColStringToIndex(column));
if (cell != null) {
content.add(cell.getStringCellValue());
}
}
workbook.close();
fis.close();
return content;
}
}
请在代码中将[第一个Excel文件路径]和[第二个Excel文件路径]替换为你实际的Excel文件路径。运行程序后,它将读取两个Excel文件中的"A"列内容,并输出新增的内容、被删除的内容和保留的内容。
请注意,这个程序假设Excel文件的扩展名为xlsx,且只包含一个表格。如果你的Excel文件有多个表格或是其他格式(如xls),需要相应地修改代码。
希望这个程序能满足你的需求。如有其他问题,请随时提问。