Una forma de abordar esto sería utilizar controles de contenido. En Office, puede crear su plantilla y luego, para cada una de sus entradas de interés respectivas, puede colocar uno de estos controles. Están en la pestaña Desarrollador en Office.
Después de insertar sus controles, necesitará que cada uno de ellos tenga un nombre único. Office les permitirá a todos tener el mismo nombre, pero deberá identificarlos de manera única en su documento de plantilla.
Ahora necesita obtener los datos que se ingresan en estos controles. Una vez más, es probable que haya algunas soluciones mejores, pero Eric White tiene todo tipo de cosas buenas de OpenXML, así que aquí está una de sus: Iterating over Content Controls
Creo que hay problemas para encontrar controles de contenido anidados dentro de una tabla. Entonces, si haces eso, entonces creo que tienes que recorrer específicamente los elementos de la tabla para encontrar controles de contenido dentro.
Además, es probable que desee guardar un .docx de su archivo .doct, que no creo que haya ningún método "one-liner" incorporado en OpenXML; sin embargo, puede crear un nuevo documento de Word y luego escribir la secuencia de archivos de la plantilla en el archivo docx recién creado. De nuevo, por supuesto, puede haber mejores soluciones por ahí.
¿Has estado aquí? Hay un montón de cosas buenas: Introduction to OpenXML
Además, Eric ha estado lanzando más y más vídeos en la OpenXML YouTube channel
¿Alguna solución final con código fuente completo de muestra trabajando al respecto? – Kiquenet