因为我需要对测试结果进行比较。而导出来的数据存放在excel表格中
想利用java代码读取两个文件中的数据进行比较,并且将2个表中数据不一样的打印出来
- 首先需要下载jxl.jar包
java中有读取表格的jar包,就是上面这个。百度搜索jxl下载应该就可以找到
不想自己下载的话可以找我哦 - 将下载好的jxl.jar文件直接复制到项目中
然后右键-Build Path–Add to Build Path就可以了 - 给一个代码实例`
把要读取的文件放在java项目底下就可以
import jxl.*;
import jxl.read.biff.BiffException;
import java.io.*;
public class ReadExcel {
public static void main(String[] args) throws BiffException, IOException {
//读取表格中第一个sheet表
String[] result1 = getSheet("sheet_one");
//读取表格中第二个sheet表
String[] result2 = getSheet("Sheet1");
CompareResult(result1, result2);
for (int i = 1; i < result1.length; i++) {
if(result1[i] != null) {
System.out.println(result1[i]);
}
}System.out.println("结束");
}
/*
* sh: Excel文件中的sheet
*/
public static String[] getSheet(String sh) throws BiffException, IOException {
String[] result;
//Test1.xls 为你放在java项目下的文件名
Workbook book = Workbook.getWorkbook(new File("Test1.xls"));
//获得excel文件的sheet表
Sheet sheet = book.getSheet(sh);
//Sheet sheet = book.getSheet(0);
int rows = sheet.getRows();//行
int cols = sheet.getColumns();//列
System.out.println("总列数:" + cols);
System.out.println("总行数:" + rows);
System.out.println("----------------------------");
result = new String[rows];
int i=0;
//循环读取数据
for(i=1;i<rows;i++)
{
//getCell(x,y) 第y行的第x列
result[i] = new String(sheet.getCell(0,i).getContents()+sheet.getCell(12,i).getContents());
}
return result;
}
public static void CompareResult(String[] result1, String[] result2) {
int count = 0;
for (int i = 1; i < result1.length-1; i++) {
for (int j = 1; j < result2.length-1; j++) {
if (result1[i].equals(result2[j])) {
count++;
//System.out.println(result1[i]);
result1[i]=null;
break;
}
}
}System.out.println("相同数据为:"+count);
}
}