c# - office - openxml github
¿Cómo reemplazar el contenido en el documento docx de plantilla y en Open XML SDK 2.0(09 de agosto)? (4)
Tengo un documento docx de "plantilla" que contiene el diseño deseado y deseo insertar contenido con C #, pero no puedo encontrar una manera de abordar de manera única secciones específicas del documento, como párrafos o tablas. ¿Cuál es la mejor manera de identificar de manera única los elementos del documento? Gracias, Matt Sharpe.
¿Cómo se construye tu plantilla? ¿Utiliza un esquema XML subyacente cargado como parte de * .docx? ¿O está utilizando controles de contenido fuera de la cinta del desarrollador, en cuyo caso cada control se identifica de forma única por un nombre de etiqueta dado? Ambos enfoques facilitarían la identificación de ciertas secciones de su documento, ya que podría controlar dónde estarían las tablas o los párrafos.
Además, es posible que desee considerar el uso de Open XML SDK 2.0 (utiliza .NET 3.5). Incluye una útil herramienta Reflector de documentos que le permite abrir e inspeccionar cualquier documento Open XML y muestra cómo generar el código para cualquier elemento en el que haga clic.
Aparte de eso, para obtener más información sobre los controles de contenido, puede consultar estas publicaciones:
¿Puedes usar variables / campos de documento? Simplemente vaya a Insertar-> Piezas rápidas-> Campos-> Variable de documento, ingrese el nombre de la variable.
ejemplo: http://www.codeproject.com/KB/office/Fill_Mergefields.aspx
También puede usar valores de texto de marcador de posición como "## insert_first_name ##" y luego hacer una búsqueda y reemplazar esas variables.
Creo que está buscando marcadores o controles de contenido (en la pestaña Desarrollador de la cinta de opciones, ejemplo de código here )
He usado Rangos Nombrados en Excel para el mismo propósito.
Hay varias opciones para hacer esto.
He creado una biblioteca de código abierto simple que reemplazará las etiquetas por valores.
Por ejemplo, Hi {name}
con data={name:"John"}
será reemplazado por Hi John
.
Aquí está: https://github.com/edi9999/docxtemplater
Demostración: http://javascript-ninja.fr/docxgenjs/examples/demo.html