[RESOLVIDO]Ajuda com POI ou Jexcel

Bom dia, eu estou fazendo um programa que compara o conteúdo das celulas do excel. Porem eu nunca usei POI, nem Jexcel. Já faz um tempo que eu to tentando, mas a falta de experiencia atrapalha. Eu consigo ler o arquivo e escreve nele usando POI, mas não tenho ideia de como comparar. Já com Jexcel eu consigo ler, mas não consigo escrever e tento comparar, mas ele compara errado. Alguém poderia me ajudar?
Eu tenho preferência por POI, mas se alguém puder me ajudar usa Jexcel não tem problema.

debugar resolve

coloque seu codigo aew pra mim ver

Eu tenho esse com POI

public class Novamente extends JFrame{
	JButton procura;
	JFileChooser arq1;
	Sheet st;
	Permanente per;
	FileOutputStream out;
	String ji;
	

public Novamente() {	

		setLayout(null);
		
	
		
		procura = new JButton("Procurar");
		procura.setBounds(100, 50, 80, 30);
		add(procura);
		setVisible(true);
		setSize(500, 300);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		
		procura.addActionListener(new ActionListener() {
			
			
			public void actionPerformed(ActionEvent arg0) {
				  out = null;  
				 
				try{

					
			          JFileChooser fopen = new JFileChooser( );
			          fopen.showOpenDialog(null);
			          FileInputStream hi = new FileInputStream(fopen.getSelectedFile());
			          POIFSFileSystem arqq= new POIFSFileSystem(hi); 
			          HSSFWorkbook hwb = new HSSFWorkbook(arqq);

			        
			          Sheet sheet1 = hwb.getSheetAt(0);
			            
			     
			        	    for (Row row:sheet1) {
			        	  
			       
			        	for (Cell cell : row) {
			        		System.out.print(cell.toString());
					            	System.out.print("\t");
					            }
					       System.out.print("\n");
			        	  }
			           
			        	
			         
		
		try {
			ji=new String("/home/Documentos/workbook.xls");
			FileOutputStream out = new FileOutputStream(ji);

	        hwb.write(out);
	        
	       
			File file = new File(ji);
	        Desktop.getDesktop().open(file);
			
		} catch (Exception e) {
			// TODO: handle exception
		}
				 }catch(Exception e){
				        e.printStackTrace();
				    }
			}
		});
	}

}

E tambem tenho esse usando Jexcel

class Permanente {
	 Cell[] cel,cel2;
	 
		String a,b,conteud,conteudo;
		int i,ka,j;
		Label d;
		ComJXL com;
	public Permanente() {
		
		try {
			j=0;
			
			 Workbook workbook = Workbook.getWorkbook(new File("Arquivo.xls"));
		       
		        Sheet sheet = workbook.getSheet(0);
		    
		        File diret = new File("/home/Documentos");
		    	  File arq = new File(diret,"nossa.xls");
		    	  FileOutputStream fileWriter = new FileOutputStream(arq,false);
		    	  PrintWriter pw = new PrintWriter(fileWriter);
		    	  
		    	  

		        int linhas = sheet.getRows();
		        
				int colu = sheet.getColumns();
		   
				for(int i = 0;i<linhas;i++){
					
					
					cel=sheet.getRow(i);
					
					{		 
						
						for(int j=0;j<colu;++j){
		    			cel2=sheet.getColumn(j);
		    			conteud= cel[j].getContents();
		    			conteudo= cel2[i].getContents();
		    			
		    			
		    			 if (cel[i].getContents().equals(cel2[j].getContents())) {
		    			System.out.println(conteud+" -OK- "+conteud);
		    			
		    			 }
		    			}
		    			
		    			
		    		}  
		        }
				pw.write(conteud);
	    		  
			    pw.flush();
				
				 pw.close();
				
			
			
		} catch (Exception e) {
			
			
		}
		
	}

}

cara vc tem a celula, vc consegue pegar no poi celltype, getCellNum,getNumericCellValue e outros não?

se for numero primitivo compare assim ex: (getCellNum == getCellNum)
se for um objeto vc pode usar ‘compareTo’, se for String use o equals
acho que isso resolve
falow

com o apache POI:

Row row = sheet.getRow(2);
    Cell cell = row.getCell(3);
    Cell cell1 = row.getCell(4);
    if (cell.equalsIgnoreCase(cell1))
        //do something

Mas ai ele vai ficar como o Jexcel, comparando a mesma celula de forma que sempre sera igual. Eu queria uma forma de pegar e comparar uma linha e coluna. Mas como todos os valores estao salvos na mesma variavel eu nao estou conseguindo. E eu nao posso colocar a posiçao pois o arquivo xls tem mais de 5 mil linhas

Achei a solução eu usei Jxl mesmo, pode não ter sido a melhor resposta, mas foi a que funcionou.


   linhas = sheet.getRows();
		        
   colu = sheet.getColumns();
				
		   
				
				for(int i = 0;i<linhas;i++){
				
						for(int j=0;j<colu;j++){
		    		
		    		   	          tu=sheet.getCell(j,i);
		    			
		    			
						
				}  
						if (sheet.getCell(0,i).getContents().equals(sheet.getCell(1,i).getContents())) {
    				                System.out.println(sheet.getCell(0,i).getContents()+" -OK- "+sheet.getCell(1,i).getContents());
    				
    				}
		        }
				
				
					
					for(int j=0;j<colu;j++){
						for(int i = 0;i<linhas;i++){
							eu=sheet.getCell(4,i);
							if (sheet.getCell(0,j).getContents().equals(sheet.getCell(1,i).getContents())) {
								System.out.println(sheet.getCell(0,j).getContents()+" -OK- "+sheet.getCell(1,i).getContents());
								
							}
							
						}
					}