gpt4 book ai didi

java - 比较2个excel文件的内容

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:48:58 27 4
gpt4 key购买 nike

我有 2 个 excel 文件,我想比较内容并突出显示差异。例如:

第一个文件...

name|age
abc|123
def|456
second file...
name|age
abc|123
def|456
ghi|789 - this being the differece

是否有任何第三方库可以执行此操作?或者最好的方法是什么?

最佳答案

正如 DaDaDom 所说,Apache POI 正是您要找的。您可以从this page下载。 .请注意,POI 项目不是完全独立的,您可能需要下载一些额外的库。按照 Apache POI 网站上的说明进行操作。这是你如何使用它:

InputStream myxls = new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(myxls); // for *.xlsx use XSSFWorkbook

如果它是一个新文件,您可能需要在继续之前创建工作表,但在这种情况下,文件已经创建。

HSSFSheet sheet = wb.getSheetAt(0);       // first sheet
HSSFRow row = sheet.getRow(0); // first row
HSSFCell cell = row.getCell((short)0); // first cell

要从单元格中获取值,请使用:

String value = cell.getStringCellValue();

但是,如果存储在单元格中的类型是数字,则会出现错误。如果是数字,请使用:

Int value = cell.getCellValue();

这是我写的一个处理不同单元格数据类型的方法:

public String getValue(int x, int y){
Row row = this.activeSheet.getRow(y);
if(row==null) return "";
Cell cell = row.getCell(x);
if(cell==null) return "";
int type = cell.getCellType();
switch(type){
case 0:
return cell.getNumericCellValue() + "";
case 1:
return cell.getStringCellValue();
case 2:
return cell.getCellFormula();
case 3:
return "";
case 4:
return cell.getBooleanCellValue() + "";
case 5:
return cell.getErrorCellValue() + "";
default:
return "";
}
}

我希望对 Apache POI 的快速介绍对您的项目有所帮助:)

关于java - 比较2个excel文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12779489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com