簡體   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