IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

ouverture d'un fichier XL et PDF puis l'enregistrer


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 42
    Par défaut ouverture d'un fichier XL et PDF puis l'enregistrer
    bonjour a tous .
    dans le cadre de mon stage d'été . j'ai crée un application avec java .
    j'ai generé un fichier pdf et XL .
    j'aimerai que lorsque je clique sur un bouton ( doc xl ) il le genere puis l'ouvre sans le sauvgarder comme ça l'utilisateur peux l'enregistrer ou il veut .
    meme ças pour le bouton ( doc pdf) .
    merci pour vos réponse.

  2. #2
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 42
    Par défaut
    j'ai oublié une chose j'ai su crée le fichier pdf et XL mais mon pb c que lorsque je clique sur doc xl par exemple .l'api crée le fichier et le sauvgarde dans un emplacement fixé dans la classe . donc je dois aller a chaque fois dans cette emplacement pour l'ouvrir et c pas ce que je veux .

    voici le code de ma classe XL :

    package boite;

    import com.lowagie.text.Cell;
    import com.lowagie.text.DocListener;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRichTextString;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;


    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.PageSize;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.Table;
    import com.lowagie.text.pdf.PdfWriter;
    import java.awt.Color;
    import java.io.FileNotFoundException;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.Properties;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFFont;

    public class XL {

    public static void main(String[] args) throws SQLException {
    FileOutputStream fileOut;
    Document document = new Document(PageSize.A4);
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet("ma feuille");



    try {


    String url = "jdbc:sqlserver://GUETTAF-5787604\\SQLEXPRESS1;databaseName=banque;integratedSecurity=true;";
    String login = "sa";
    String password = "papito";

    java.sql.Connection con = java.sql.DriverManager.getConnection(url, login, password);
    java.sql.Statement stat = con.createStatement();

    //L'objet ResultSet contient le résultat de la requête SQL
    ResultSet result = stat.executeQuery("SELECT id_banq as [code agence] , libellé as label , ABRV_BANQ as abréviation FROM bank");
    //On récupère les MetaData
    ResultSetMetaData resultMeta = result.getMetaData();








    //On affiche le nom des colonnes
    HSSFRow row = sheet.createRow(0);
    HSSFCellStyle cellStyle = null ;
    HSSFCell cel = null;


    for(int i = 1; i <= resultMeta.getColumnCount(); i++){

    cel = row.createCell((short)i, HSSFCell.CELL_TYPE_STRING);
    cel.setCellValue(new HSSFRichTextString(resultMeta.getColumnName(i).toUpperCase()));;


    HSSFFont fonte = wb.createFont();
    fonte.setFontHeightInPoints((short) 14);
    fonte.setFontName("Courier New");
    fonte.setBoldweight(Short.valueOf(HSSFFont.BOLDWEIGHT_BOLD));
    // fonte.setStrikeout(true);


    cellStyle = wb.createCellStyle();
    cellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    cellStyle.setFont(fonte);
    cel.setCellStyle(cellStyle);;

    System.out.println(resultMeta.getColumnName(i).toUpperCase());
    }


    int cpt=1;
    while(result.next()){

    row = sheet.createRow(cpt);
    for(int i = 1; i <= resultMeta.getColumnCount(); i++){

    cel = row.createCell((short)i, HSSFCell.CELL_TYPE_STRING);
    cel.setCellValue(new HSSFRichTextString(result.getObject(i).toString()));;

    cellStyle = wb.createCellStyle();
    cellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);
    cel.setCellStyle(cellStyle);;
    }
    cpt++;

    }


    fileOut = new FileOutputStream("C:/Documents and Settings/rahimos/bureau/monfichier.xls");
    wb.write(fileOut);
    fileOut.close();











    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException ioe) {
    ioe.printStackTrace();
    }

    document.close();
    }
    }

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Un document quel qu'il soit doit obligatoirement être écrit sur le disque.
    Ensuite si tu veux que l'utilisateur puisse sélectionner l'endroit où l'enregistrer dans ton application il te faut passer par un JFileChooser

    Si tu veux que le document soit directement ouvert dans l'appli associée il te faut utiliser obligatoirement java 6, enregistrer ton document dans un répertoire temporaire et l'ouvrir via la méthode Desktop.getDesktop().open(File f).

  4. #4
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 42
    Par défaut
    Citation Envoyé par sinok Voir le message
    Un document quel qu'il soit doit obligatoirement être écrit sur le disque.
    Ensuite si tu veux que l'utilisateur puisse sélectionner l'endroit où l'enregistrer dans ton application il te faut passer par un JFileChooser

    Si tu veux que le document soit directement ouvert dans l'appli associée il te faut utiliser obligatoirement java 6, enregistrer ton document dans un répertoire temporaire et l'ouvrir via la méthode Desktop.getDesktop().open(File f).
    mais comment faire pour utilisé un repertoire temporaire et est ce qu'il me propose de l'enregsitrer si je veux le fermer aprés ?

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ma réponse n'est pas très claire.

    Tout dépend de ce que tu veux faire.

    Veux tu juste ouvrir un dialogue demandant à l'utilisateur où il veut que son fichier soit créé?
    Dans ce cas pas besoin de fichier temporaire, tu ouvres juste un JFileChooser pour permettre à l'utilisateur de choisir l'endroit où le fichier sera créé.

    Si tu veux que ton fichier soit affiché directement dans l'application servant à le visualiser (excel pour les xls, reader pour les PDF par exemple) il te faut créer un fichier temporaire (cf la FAQ java de developpez.com), effectuer les opérations voulues dessus puis l'ouvrir via un Desktop.open

Discussions similaires

  1. Ouverture d'un fichier PDF
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 03/02/2009, 17h09
  2. ouverture d'un fichier pdf
    Par chti_juanito dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 06/07/2006, 16h47
  3. ouverture fichier html et pdf
    Par nicoooooo dans le forum Web
    Réponses: 4
    Dernier message: 15/06/2006, 14h54
  4. [Image]Ouverture en apercu fichier PDF
    Par perlgirl dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 29/11/2005, 15h42
  5. [Système] ouverture d'un fichier pdf
    Par joneil dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 17/05/2005, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo