2009-09-01 26 views

risposta

11

Come viene generato il modello? Usa uno schema XML sottostante caricato come parte di * .docx? O stai usando i controlli del contenuto al di fuori della barra degli strumenti dello sviluppatore, nel qual caso ciascun controllo è identificato in modo univoco da un determinato nome di tag? Entrambi questi approcci renderebbero più semplice l'identificazione di alcune sezioni del tuo documento, in quanto potresti controllare dove sarebbero le tabelle oi paragrafi.

Inoltre, è possibile prendere in considerazione l'utilizzo di Open XML SDK 2.0 (utilizza .NET 3.5). Include un pratico strumento Document Reflector che ti consente di aprire e ispezionare qualsiasi documento Open XML e mostra come generare il codice per ogni elemento su cui fai clic.

Oltre a questo, per imparare di più su controlli del contenuto è possibile controllare questi messaggi:

+0

Ciao, darò un'occhiata a quei link. Grazie mille. Serbatoi –

3

È possibile utilizzare variabili/campi del documento? Basta andare su Inserisci-> Parti rapide-> Campi-> Variabile Doc, immettere 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

+0

Grazie per la risposta. DocVariable sembra interessante e potremmo potenzialmente utilizzarlo per frammenti di testo. Tuttavia, non affronta il problema dell'identificazione univoca delle tabelle. –

3

Penso che si sta cercando sia i segnalibri, o controlli di contenuti (sulla scheda Sviluppo del nastro, codice di esempio here)
Ho usato intervalli denominati in Excel per lo stesso scopo.

+0

Grazie mille, darò un'occhiata nella scheda Sviluppatore nella barra multifunzione ... Avevo dimenticato che era lì ;-) –

1

Ci sono diverse opzioni per fare questo.

Ho creato una semplice libreria open source che sostituirà i tag in base ai valori.

Ad esempio Hi {name} con data={name:"John"} verrà sostituito da Hi John.

Eccolo: https://github.com/edi9999/docxtemplater

Demo: http://javascript-ninja.fr/docxgenjs/examples/demo.html

+1

@ edi9999 Funziona molto bene con .docx, ma ha lo stesso problema con .pptx. – Massimo212121

+1

Funziona anche con pptx (usa 'PptxGen = require (" docxtemplater ").PptxGen' invece) – edi9999

+1

grazie ancora @ edi9999 woks con pptx :) – Massimo212121

Problemi correlati