Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    visualizzare file excel

    Ho una procedura che crea un file excel e lo salva su una diretory-

    String filename="C:/FILE_.xls" ;
    HSSFWorkbook workbook=
    new HSSFWorkbook();
    HSSFSheet sheet = workbook.createSheet("Foglio1");
    FileOutputStream fileOut =
    New FileOutputStream(filename);
    workbook.write(fileOut);

    e funziona.
    come faccio Invece di salvarlo di visualizzarlo sulo schermo per un succesivo salva con nome........

  2. #2
    Cioé vuoi visualizzare sullo schermo il file Excel appena creato?
    ho inteso bene?

    Se è così usa la classe desktop
    codice:
    Desktop desktop = null;
    if(Desktop.isDesktopSupported()) {
       desktop = Desktop.getDesktop();			
    }
    String file=new File(nomefile).getAbsolutePath();
    desktop.open(new File(file));
    dove la variabile file è la stringa che contiene il path dov'è locato il file.

    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    Esatto.
    Posso anche non salvarlo nel senso visualizzarlo e dare
    la possibilità di salvare con nome.



    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Cioé vuoi visualizzare sullo schermo il file Excel appena creato?
    ho inteso bene?

    Se è così usa la classe desktop
    codice:
    Desktop desktop = null;
    if(Desktop.isDesktopSupported()) {
       desktop = Desktop.getDesktop();            
    }
    String file=new File(nomefile).getAbsolutePath();
    desktop.open(new File(file));
    dove la variabile file è la stringa che contiene il path dov'è locato il file.

    Ciao.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Cioé vuoi visualizzare sullo schermo il file Excel appena creato?
    ho inteso bene?

    Se è così usa la classe desktop
    codice:
    Desktop desktop = null;
    if(Desktop.isDesktopSupported()) {
       desktop = Desktop.getDesktop();            
    }
    String file=new File(nomefile).getAbsolutePath();
    desktop.open(new File(file));
    Occhio che la chiamata a open() va messa dentro l'if altrimenti potresti avere una NullPointerException.

    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    codice:
    String file=new File(nomefile).getAbsolutePath();
    desktop.open(new File(file));
    Perché istanzi due File per fare riferimento allo stesso file?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    Scusa ma mi sto perdendo.String filename="c:/elenco.xls (è il nome del file)FileOutputStream fileOut = new FileOutputStream(filename);
    workbook.write(fileOut); (scrivo il file elenco.xls su c

    io lo vorrei aprire in excel


    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Occhio che la chiamata a open() va messa dentro l'if altrimenti potresti avere una NullPointerException.



    Perché istanzi due File per fare riferimento allo stesso file?

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Allora chiama Desktop.open passandogli un File che punta al tuo file, come ti è già stato detto.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    Ho provato cosi;
    ma sul metodo Open mi dice questo;
    The method open(File) in the type Desktop is not applicable for the arguments (String)



    Desktop desktop =

    null;
    if(Desktop.isDesktopSupported()){ desktop = Desktop.getDesktop(); } // String file=new File(nomefile).getAbsolutePath();
    desktop.open("C:/elenco.xls");

  8. #8
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Occhio che la chiamata a open() va messa dentro l'if altrimenti potresti avere una NullPointerException.
    Si, potrei anche farlo, ma nel mio caso ho la certezza che il desktop sia sempre supported.

    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Perché istanzi due File per fare riferimento allo stesso file?
    Perché avevo bisogno dell'absolute path del file.
    Visto che absolute mi ritorna una stringa ho dovuto nuovamente istanziare l'oggetto file.
    Poi può darsi che stilisticamente ci sia un metodo più carino è più veloce, cmq questo al tempo stesso questo funziona ed è ciò che m'importa.

    Tigre:
    desktop.open("C:/elenco.xls");
    il metodo open non accetta una stringa, bensì un oggetto di tipo file.
    Ultima modifica di schumy2000; 19-08-2014 a 09:54
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Si, potrei anche farlo, ma nel mio caso ho la certezza che il desktop sia sempre supported.
    I peggio disastri della storia della programmazione nascono dal "sono certo che questo caso non si verificherà mai"

    Ora, il tuo esempietto è banale e non ha conseguenze ma programmare col pensiero "tanto questo non succederà mai" è il peggio che tu possa fare. Soprattutto quando il caso che non doveva mai verificarsi capita in produzione


    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Perché avevo bisogno dell'absolute path del file.
    Sai vero che lo avevi già, senza bisogno di creare un nuovo File?

    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Visto che absolute mi ritorna una stringa ho dovuto nuovamente istanziare l'oggetto file.
    Poi può darsi che stilisticamente ci sia un metodo più carino è più veloce
    Non è questione di "stilisticamente più carino e veloce ecc", si tratta di evitare un passaggio inutile e ridondante.

    Se una cosa non serve, si toglie. Ogni riga di codice in più è una riga di potenziali bug in più.

    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    e, cmq questo al tempo stesso questo funziona ed è ciò che m'importa.
    Il "basta che funzioni" è accettabile in programmini personali fatti tanto per... ma è bene perdere subito questa brutta pratica. La pulizia del codice, la mantenibilità ecc che fine hanno fatto?

    my 2 cents
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    pienamente condivisibile...consigli accettati.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.