繁体   English   中英

使用Microsoft Work Automation C#添加动态表行

[英]Add dynamic table row using microsoft work automation c#

我有一个Word文档模板,其中包含几个需要使用C#代码填写的表单字段。

下面是文档图像 在此处输入图片说明 下面的代码用于到达和填充文档表单字段,但是当我到达表格部分时,有时需要填充的行比模板中预先定义的要多。

红色标记的区域是我要用数据填充并创建所需行数的表。

我用于填充数据的代码是

        string fileName = Path.GetTempFileName();
        File.WriteAllBytes(fileName, Properties.Resources.DocumentTemplate);
        Word.Application word = new Word.Application();
        Word.Document doc = new Word.Document();
        doc = word.Documents.Add(fileName);
        doc.Activate();


        doc.FormFields["file_num"].Range.Text = "some text";
        doc.FormFields["fam_size"].Range.Text = "another text";
        doc.FormFields["nationality"].Range.Text = "another text";
        for(int i =0; i< rowsInDatabaseCount; i++)
        {
           //i don't know how to add row and reach each form field inside
        }

我希望有人能帮助我实现我想要的目标。

先感谢您...

有多种处理方法。 1)由于数据来自数据库,因此一种方法是使用InsertDatabase方法。

2)您可以将块插入为制表符或逗号分隔的文本,然后使用ConvertToTable()方法转换为表。

3)您可能使用Rows和Cols集合(表的)和.Add方法来添加新行。

4)您可以改为将模板创建为XSL,并使用该XSL转换数据(XML)以生成最终的HTM。 Word能够打开HTM文件。

(所有这些选项在“恢复”,“测试结果” ...中的工作方式对我都有效。...创建的布局与您提供的布局相似。我发现最终的选项4是最动态的,最终用户可以在其中定义自己的模板使用简单的HTML编辑器-对我来说,效果比单词模板更好)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM