Come sostituire il contenuto nel documento docx modello e Open XML SDK 2.0 (9 agosto)?

StackOverflow https://stackoverflow.com/questions/1361588

  •  20-09-2019
  •  | 
  •  

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.

È stato utile?

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.

Esempio: http://geekswithblogs.net/DanBedassa/archive/2009/01/16/dynamically-generating-word-2007-.docx-documents-using-.net.aspx

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top