CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 8 su 8
Discussione:

Excel e android, non trovo libreria compatibile

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Excel e android, non trovo libreria compatibile

    Salve a tutti!
    Premetto di scrivere dopo aver letto vari post riguardanti l'argomento.
    Il problema che ho sta nel leggere un file .xls per importarne parte del contenuto.
    Nessun problema nel trovare il file, ma quando creo un nuovo WorkBook ( sia con JExcel che con Apache POI) il logcat mi dice di non riuscire a trovare il metodo.
    (Could not load jxl.workbook.getworkbook per JExcel e
    could not find class 'org.apache.poi.hssf.usermodel.HSSWorkbook' per Apache POI)



    Grazie a tutti.

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ovviamente ho provato le due librerie singolarmente.

  4. #3
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Quote Originariamente inviato da freejoverride Visualizza il messaggio
    Ovviamente ho provato le due librerie singolarmente.
    La libreria è nella cartella libs?

    Hai controllato che sia referenziata al progetto??
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  5. Il seguente Utente ha ringraziato fedestylah per il post:

    freejoverride (31-07-12)

  6. #4
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fedestylah Visualizza il messaggio
    La libreria è nella cartella libs?

    Hai controllato che sia referenziata al progetto??
    Si si, il jar si trova la, l'ho importato dal buldpath del progetto cliccando su addExternalJar.
    Infatti importa tutti gli oggetti, ma quando faccio partire l'emulatore mi da quell'errore

  7. #5
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Quote Originariamente inviato da freejoverride Visualizza il messaggio
    Si si, il jar si trova la, l'ho importato dal buldpath del progetto cliccando su addExternalJar.
    Infatti importa tutti gli oggetti, ma quando faccio partire l'emulatore mi da quell'errore
    Posta il codice di quanto lo istanzi e poi dai un'occhiata a questo thread Need Help in Importing data's from Excel in Android? - Stack Overflow
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  8. #6
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fedestylah Visualizza il messaggio
    Posta il codice di quanto lo istanzi e poi dai un'occhiata a questo thread
    Avevo già visto questo thread ma il problema è il caricamento delle classi dalla libreria
    codice:
    importa = (Button) findViewById(R.id.buttonImporta);
    		importa.setOnClickListener(new View.OnClickListener() {
    
    			public void onClick(View v) {
    				File f = new File(pathForActivity);
    
    				FileInputStream fis = null;
    				try {
    					fis = new FileInputStream(f);
    				} catch (FileNotFoundException e) {
    					e.printStackTrace();
    				}
    
    				Contatto[] contattiImportati = getContactsFromFile(fis);
    
    				for (int i = 0; i < contattiImportati.length; i++)
    					db.inserisciContatto(db.getWritableDatabase(),
    							contattiImportati[i].getTitolo(),
    							contattiImportati[i].getCognome(),
    							contattiImportati[i].getNome(),
    							contattiImportati[i].getSesso(),
    							contattiImportati[i].getUfficio(),
    							contattiImportati[i].getTel1(),
    							contattiImportati[i].getTel2(),
    							contattiImportati[i].getTel3(),
    							contattiImportati[i].getEmail(),
    							contattiImportati[i].getFax(),
    							contattiImportati[i].getUrl());
    
    				Toast t = Toast.makeText(v.getContext(), "Contatti Importati",
    						Toast.LENGTH_SHORT);
    				t.show();
    				finish();
    				startSubActivity();
    
    			}
    
    		});
    Il File viene preso e caricato senza problemi. Ora tutto sta nel metodo:
    codice:
    private Contatto[] getContactsFromFile(FileInputStream is) {
    		/*
    		 * 0 titolo, 1 cognome, 2 nome, 3 sesso, 4 ufficio, 5 tel1, 6 tel2, 7
    		 * tel3, 8 email, 9 fax, 10 url
    		 */
    		ArrayList<Contatto> contatti = new ArrayList<Contatto>();
    
    		int numElem = 0;
    
    		Workbook wb = null;
    		try {
    			wb = new HSSFWorkbook(is);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		Sheet foglio = wb.getSheetAt(0);
    
    		Row singoloContatto = null;
    		Cell[] elems = null;
    		int numRiga = 1;
    		while (numElem < foglio.getLastRowNum()) {
    
    			// parto dalla riga 1 poiché la 0 contiene i nomi delle colonne
    
    			singoloContatto = foglio.getRow(numRiga);
    
    			for (int i = 0; i < singoloContatto.getLastCellNum(); i++)
    				elems[i] = singoloContatto.getCell(i);
    
    			contatti.add(new Contatto(elems[0].getStringCellValue(),  elems[1].getStringCellValue()
    					.toString(), elems[2].getStringCellValue(), elems[3]
    					.getStringCellValue(), elems[4].getStringCellValue(),
    					elems[5].getStringCellValue(), elems[6]
    							.getStringCellValue(), elems[7]
    							.getStringCellValue(), elems[8]
    							.getStringCellValue(), elems[9]
    							.getStringCellValue(),elems[10]
    					.getStringCellValue(),));
    
    			numRiga++;
    			numElem++;
    
    		}
    		try {
    			is.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return (Contatto[]) contatti.toArray();
    	}
    PS: Grazie infinite per l'aiuto.
    Ultima modifica di freejoverride; 25-07-12 alle 18:48

  9. #7
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Prova a istaziare così il Workbook:

    codice:
    // Create a POIFSFileSystem object 
    POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
    
     // Create a workbook using the File System 
      HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);

    dove myInput è il fileInputStream!

    Per un mio progetto ho utilizzato questo metodo e ha funzionato! Prova e fammi sapere!
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  10. #8
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    7

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho trovato il problema. Non era il codice ma la libreria non bene referenziata, poiché selezionavo un jar non importato in eclipse e quindi non riusciva a convertire la libreria. Devo fare un Mea Culpa.

LinkBacks (?)

  1. 28-07-12, 19:01

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy