Come sostituire il contenuto nel documento docx modello e Open XML SDK 2.0 (9 agosto)?
Domanda
Ho un documento docx "modello" che contiene il layout desiderato e desidero inserire contenuti utilizzando C #, ma non riesco a trovare un modo per affrontare in modo univoco specifiche sezioni del documento, come ad esempio i paragrafi o tabelle. Qual è il modo migliore per identificare in modo univoco gli elementi del documento? Grazie, Matt Sharp.
Soluzione
Come è il vostro modello costruito? La usa uno schema XML sottostante caricato come parte del * .docx? O stai usando controlli di contenuto al largo del nastro Developer, nel qual caso ogni controllo è identificato univocamente da un dato nome di tag? Entrambi questi approcci renderebbe identificando determinate sezioni del documento più facile come si potrebbe controllare dove sarebbero tabelle o paragrafi.
Inoltre, si può prendere in considerazione l'utilizzo della Open XML SDK 2.0 (usa .NET 3.5). Esso comprende un pratico strumento di Document riflettore che permette di aprire e ispezionare qualsiasi documento Open XML e mostra come generare il codice per ogni elemento si fa clic su.
Oltre a questo, per conoscere meglio i controlli del contenuto è possibile controllare questi messaggi:
Altri suggerimenti
È possibile utilizzare le variabili di documento / i campi? Basta andare a Inserisci-> Breve Parts-> Fields-> Doc variabile, inserire il nome della variabile.
Esempio: http://www.codeproject.com/KB/office/Fill_Mergefields.aspx
Si potrebbe anche solo usare valori di testo segnaposto come "## insert_first_name ##" e poi fare una ricerca e sostituzione per quelle variabili.
Penso che si sta cercando sia i segnalibri, o controlli di contenuti (sulla scheda Sviluppo della barra multifunzione, esempio di codice qui )
Ho usato intervalli denominati in Excel per lo stesso scopo.
Ci sono diverse opzioni per fare questo.
Ho creato una libreria semplice open-source che andrà a sostituire i tag da valori.
Ad esempio Hi {name}
con data={name:"John"}
sarà sostituito da Hi John
.
Qui è: https://github.com/edi9999/docxtemplater
Demo: http://javascript-ninja.fr/docxgenjs/examples/demo. html