[英]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.