c# - rellenar - formularios en word 2016
¿Cuál es la mejor manera de poblar una plantilla de Word 2007 en C#? (5)
Necesito completar un documento de Word 2007 a partir del código, incluyendo la repetición de secciones de tabla: actualmente utilizo una transformación XML en la parte document.xml del documento docx, pero esto requiere mucho tiempo de instalación (cada vez que edita el documento de plantilla , debe recrear el archivo transform.xsl, que puede tomar hasta un día para documentos complejos).
¿Hay alguna forma mejor, preferiblemente una que no requiera que ejecutes Word 2007 durante el proceso?
Saludos, Richard
Como un archivo DOCX es simplemente un archivo ZIP que contiene una estructura de carpetas con imágenes y archivos XML, debe poder manipular esos archivos XML utilizando nuestra API favorita de manipulación XML. La especificación del formato se conoce como WordprocessingML , que forma parte del estándar Office Open XML .
Pensé en mencionarlo en caso de que la herramienta de terceros sugerida por splattne no sea una opción.
Intenté escribir un código para ese propósito, pero me rendí. Ahora uso un producto de terceros: Aspose Words y estoy bastante contento con ese componente.
No necesita Microsoft Word en la máquina.
"Aspose.Words permite que las aplicaciones .NET y Java lean, modifiquen y escriban documentos de Word® sin utilizar Microsoft Word®".
"Aspose.Words admite una amplia gama de funciones, incluida la creación de documentos, manipulación de contenido y formatos, potentes funciones de combinación de correspondencia, soporte integral de formatos DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument y PDF. Aspose.Words es realmente el más asequible. , el componente Word más rápido y con más funciones en el mercado ".
DESCARGO DE RESPONSABILIDAD : No estoy afiliado a esa empresa.
Use invocar docx lib. admite datos de tabla ( http://invoke.co.nz/products/help/docx_tables.aspx ). Más información en http://invoke.co.nz/products/docx.aspx
¿Has considerado usar VB? Puede crear un ensamblaje por separado para rellenar su documento.
Sé que está buscando una solución C #, pero la compatibilidad literal con XML es un área donde la compatibilidad literal con XML podría ayudarlo a completar el documento. Cree un documento en Word para el servidor como plantilla, descomprima el docx, pegue la sección XML relevante que desea cambiar en su código VB y agregue código para completar las partes que desea cambiar. Es difícil decir a partir de su descripción si esto satisfaría sus requisitos, pero le sugiero que lo analice.
¿Ha considerado usar el Open XML SDK de Microsoft? La única dependencia está en .NET 3.5.
Documentación: http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx