Esportazione di report in MS Word<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />CIAO,
Ho bisogno di esportare un report che creo in MS Word in un formato molto specifico.Posso esportarlo come file PDF, il che è molto vicino a come voglio che appaia in MS Word, ma devo migliorarne l'aspetto il più possibile, per ridurre al minimo la quantità di modifiche di cui avrà bisogno dopo essere stato esportato. Per illustrare quello che sto cercando di fare, allego di seguito un breve script che crea un semplice report contenente alcuni titoli, un paio di tabelle e un piè di pagina, per poi esportare quel report in tre diversi formati, vale a dire un file PDF, un MS Documento Word e un file HTML.
La versione PDF del report viene creata più o meno come voglio che appaia nella versione MS Word, con titoli centrati, caratteri di dimensioni diverse e stili di tabella ("separatore di intestazione" e "con bordi") specificati nello script.La versione di MS Word ha tuttavia perso la centratura dei titoli, le impostazioni della dimensione del carattere e gli stili delle tabelle - e mi piacerebbe mantenere tutte queste funzionalità, se possibile.
Anche nella versione MS Word, ogni riga è in realtà una casella di testo (puoi vederlo aprendo il documento in Word, evidenziando tutto con -A e quindi aggiungendo i bordi alla selezione).Ovviamente tutto è stato esportato in questo modo e quindi non c'è nulla di sorprendente; Tuttavia Prendo atto che la versione HTML no considera i due titoli e il piè di pagina come riquadri, ma semplicemente righe di testo - ed è proprio così che vorrei che apparissero nella versione di MS Word.
Le mie domande sono quindi:
- È possibile mantenere (a) la centratura e/o (b) le impostazioni della dimensione del carattere durante l'esportazione in MS Word?
- È possibile esportare semplicemente righe di testo (anziché caselle di testo) in MS Word?
- È possibile mantenere lo stile di tabella designato (ad esempio "con bordi" o "separatore di intestazioni") durante l'esportazione in MS Word?
Immagino che alcuni di questi, se non tutti, non saranno possibili, ma so per esperienza passata che spesso c'è un modo per aggirare questi piccoli problemi se solo si sa come farlo.Qualcuno può aiutarmi con quanto sopra?
Molte grazie: ecco lo script demo di cui ho parlato:
myTableBox1 = scatola da tavolo (
casella col. stringa ( "Posizione" , { "Primo" , "Secondo" , "Terzo" , "Il quarto" , "Quinto" }) ,
casella col. stringa ( "Descrizione" , { "Acqua" , "Acido solforico" , "Ossigeno" , "Solfuro d'idrogeno" , "Cloruro di sodio" }) ,
casella col. stringa ( "Formula" , { "H2O" , "H2SO4" , "O2" , "H2S" , "NaCl" }) ,
<< stile tavolo ( "separatore di intestazione" )
) ;
myTableBox2 = scatola da tavolo (
casella col. stringa ( "Città" , { "Aberdeen" , "Cardiff" , "Londra" , "Manchester" }) ,
casella numero col ( "Popolazione" , [ 212125 , 324800 , 8174000 , 512000 ]) ,
<< stile tavolo ( "delimitato" )
) ;
mioTitolo = casella di testo ( "Questo è il mio titolo principale" , << giustificare il testo ( centro ) , << impostare la dimensione del carattere ( 14 ) , << colore del carattere ({ 0 , 0 , 0,5 }) , << impostare la larghezza ( 200 )) ;
mySubtitle = casella di testo ( "Questo è il mio sottotitolo" , << giustificare il testo ( centro ) , << impostare la dimensione del carattere ( 9 ) , << colore del carattere ({ 0 , 0 , 1 }) , << imposta lo stile del carattere ( "corsivo" )) ;
myBlankLine = casella di testo ( " " , << impostare la dimensione del carattere ( 12 )) ;
myFootnote = casella di testo ( "Questa è la mia nota a piè di pagina" , << impostare la dimensione del carattere ( 9 ) , << giustificare il testo ( centro )) ;
lub = casella di allineamento ( ncol ( 1 ) ,
mioTitolo ,
mySubtitle ,
myBlankLine ,
myTableBox1 ,
myBlankLine ,
myTableBox2 ,
myBlankLine ,
myFootnote
) ;
ora = nuova finestra ( "La mia finestra" , lub ) ;
lub << salva PDF ( "C:\Documenti\Il mio rapporto.pdf" ) ;
lub << salva MS Word ( "C:\Documenti\Il mio rapporto.doc" ) ;
lub << salva HTML ( "C:\Documenti\Il mio rapporto.html" ) ;
Ri: Esportazione di report in MS Word<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Dal punto di vista di JMP, qui vengono utilizzati due tipi di esportazione. HTML e DOC vengono esportati come testo strutturato con informazioni di stile minime. I PDF (e altri come EPS e SVG) vengono esportati come grafica, che preserva gli stili e il layout ma non la struttura.
Per quanto riguarda il testo su righe separate o meno, JMP sta cercando di metterli su righe separate emettendo separatori di riga tra di loro, ma HTML considera i separatori di riga come spazi bianchi regolari che spiega la differenza da DOC. Se stai davvero cercando una soluzione estrema, ho trovato un posto in JMP che esporta testo senza separatori di riga o altri ornamenti e questo è quando esporti un ComboBox. Tuttavia, se arrivi a tanto e perdi lo stile, potresti anche creare una casella di testo gigante.
Bell'esempio chiaro, comunque.
Ri: Esportazione di report in MS WordSe sei disposto a programmare un po' puoi ottenere il formato esatto con il seguente approccio:
- Crea un report in MS-Word con il formato desiderato.
- Salvalo come file XML, utilizzando il formato Documento XML di Word 2003
- In JSL, crea questo file XML utilizzando i dati reali. Salva il testo con estensione .XML
Ho utilizzato questo approccio per produrre fogli di calcolo Excel multischede. Ci vuole un po' di programmazione ma funziona.
Re: Esportazione di report in MS WordGrazie per la proposta!!
Funziona. Devo solo rinominare il file da filename.doc.jmp a .doc
Puoi spiegarmi come adattare la pagina in modalità orizzontale, per favore?
E forse dovrò ridimensionare le pagine...
Re: Esportazione di report in MS WordCiao Xan,
Grazie per i suggerimenti; a quanto pare dovrò sforzarmi un po' di più per ottenere gli effetti desiderati, perché non credo che una casella di testo gigante possa risolvere il mio problema a meno che non riesca a incorporare una tabella al suo interno, e non vedo come farlo. Continuerò a sperimentare e pubblicherò di nuovo qui se dovessi trovare una soluzione, ma nel frattempo, potresti approfondire quel commento sulle caselle combinate, per favore? Ho provato ad aggiungerne una alla mia casella di testo, ma sembra che non venga esportata né in Word né in HTML.
Grazie molto
Re: Esportazione di report in MS WordSembra ingegnoso: al momento non ho quasi nessuna esperienza nella scrittura di file XML, ma ci proverò sicuramente.
Grazie molto!
Re: Esportazione di report in MS WordCIAO,
Mi è stato segnalato che esiste già un argomento sulla generazione di report.
Ho bisogno di generare un report (MS Mord o salvato come file PDF) per più parametri (la quantità dei parametri può variare da 1 a 500).
Una pagina per un parametro. La navigazione nel documento avviene tramite segnalibri.
L'approccio XML sembra molto interessante. Non sono esperto di XML e ho appena iniziato con JSL.
Potresti illustrare il tuo approccio con degli esempi che posso adattare alle mie esigenze?
Forse usando i documenti che ho allegato?
Il set di dati allegato contiene uno script per più "Grafici dei quantili normali".
Vorrei poter generare un documento MS Word con l'aiuto di JSL secondo un modello specifico, che può essere sostituito da uno qualsiasi.
Ho allegato:
Set di dati con uno script per generare grafici multipli (BTW: grazie alla community per l'aiuto)
PDF convertito dal file "modello" di MS Word
File XML convertito dal "modello" di MS Word (file .zip)
Il file XML può essere aperto con MS Word.
@martindemel
Re: Esportazione di report in MS WordHo provato a sperimentare un po' e il mio consiglio è di esportare semplicemente l'output JMP come documento Word. Sarebbe molto difficile generare codice "xml" per i grafici.
Date un'occhiata a questo programma di esempio. Questo approccio potrebbe essere la soluzione giusta. Dovrete imparare cosa sono i box di visualizzazione JSL. Suggerimento: l'indice di scripting è il vostro migliore amico!
dt = open("$sample_data\Big Class.jmp");
nw = new window("Sample",
panelbox("Actions",
hlistbox(
msword_button = buttonbox("Save to MS-Word",
sample_output << save msword("", Native);
),
close_button = buttonbox("Close this window",
nw << close window;
),
),
),
sample_output = vlistbox(
tb = table box(
string col box("Name", (dt:name << get values)),
number col box("Age", (dt:age << get values)),
string col box("Name", (dt:sex << get values)),
),
page break box(),
dist = dt << Distribution(
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :age ) )
),
),
msword_button << set icon("WinFileSave"),
close_button << set icon("Stop"),
tb << set underline headings(1) << set column borders(1)
<< Set Shade Alternate Rows(1);
);
Re: Esportazione di report in MS WordPotresti condividere un esempio? Sono molto interessato a questo approccio.
Grazie molto,
Giovanni
Re: Esportazione di report in MS Word
Dodo wrote:
...in the meantime, could you elaborate on that comment about Combo Boxes please? I've tried adding one to my Line Up Box, but it doesn't seem to be exported at all in either Word or HTML.
Sembra che siano esportati in JMP 11 ma non in JMP 10. Un motivo in più per ignorarlo.