Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    3

    Scrivere in tabelle OpenOffice

    Salve sono uno sviluppatore Java ed attualmente stò programmando un utility che deve permettermi di aggiungere alcuni campi(testo) provenienti da un server in documenti OpenOffice.Se inserisco i campi nel documento tutto funziona correttamente.Il problema nasce quando creo una tabella e voglio inserire il campo al suo interno(nella cella in cui risiede il cursore di testo).

    Di seguito riporto il codice che uso per inserire il campo:

    public void inserisciCampo(XTextDocument Doc, String nomeCampo, XPropertySet xMasterPropSet)throws java.lang.Exception
    {
    XMultiServiceFactory docFactory = (XMultiServiceFactory)
    UnoRuntime.queryInterface(XMultiServiceFactory.cla ss, Doc);

    xUserField = (XDependentTextField) UnoRuntime.queryInterface(
    XDependentTextField.class,
    docFactory.createInstance("com.sun.star.text.TextF ield.User"));

    xMasterPropSet = (XPropertySet) UnoRuntime.queryInterface(
    XPropertySet.class, docFactory.createInstance(
    "com.sun.star.text.FieldMaster.User"));

    // Per settare il nome del campo utente
    xMasterPropSet.setPropertyValue("Name", nomeCampo);

    // SE vuoi settare il valore..
    //xMasterPropSet.setPropertyValue("Value", valoreCampo);

    xUserField.attachTextFieldMaster(xMasterPropSet);

    // NEW
    XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(
    XDesktop.class, desktop);

    XComponent xCurrentComponent = xDesktop.getCurrentComponent();

    XModel xModel = (XModel)UnoRuntime.queryInterface(XModel.class,
    xCurrentComponent);

    XController xController = xModel.getCurrentController();

    XTextViewCursorSupplier xViewCursorSupplier =
    (XTextViewCursorSupplier)UnoRuntime.queryInterface (
    XTextViewCursorSupplier.class, xController);

    XTextViewCursor xViewCursor = xViewCursorSupplier.getViewCursor();

    XText xDocumentText = xViewCursor.getText();

    XTextCursor xModelCursor =
    xDocumentText.createTextCursorByRange(xViewCursor. getStart());

    XTextCursor xParagraphCursor =
    (XTextCursor)UnoRuntime.queryInterface(
    XTextCursor.class, xModelCursor);

    Doc.getText().insertTextContent(xParagraphCursor, xUserField,
    false);
    System.out.println("INS OK");
    }

    Non sono molto pratico di OpenOffice e non sono riuscito a trovare molte indicazioni in rete.Se qualcuno ha delle idee o può indicarmi dei link utili mi farebbe un grande favore.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Ho spostato la discussione nel forum dedicato a Java.
    In futuro, poni qui le tue domande relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.