1、先解釋一下,什麼叫做動態數據,動態數據指的是,一條數據的格式固定,但數據的條數不固定。 2、應用環境,在一個表格當中如果,現在表格有三行n列,如果你需要在表格第一行後添加同等規格的一行或n行,應該怎麼去做? 3、根據上面的應用環境,不難發現,要完成這項工作的5個過程,1、找到位置。2、獲取模板行 ...
1、先解釋一下,什麼叫做動態數據,動態數據指的是,一條數據的格式固定,但數據的條數不固定。
2、應用環境,在一個表格當中如果,現在表格有三行n列,如果你需要在表格第一行後添加同等規格的一行或n行,應該怎麼去做?
3、根據上面的應用環境,不難發現,要完成這項工作的5個過程,1、找到位置。2、獲取模板行。3、將模板行添加到當前行的下一行。4、向被添加的行寫值。或許會有一個迴圈過程5、刪除模板行。
4、話不多說,上代碼。
註意:要使用這個片段,先添加對 DocX組件的引用。
DocX項目:http://docx.codeplex.com/releases/view/80870
//控制要插入的行數 for (int i = 0; i < 5; i++) { //這裡測試成功 //獲取到模板行的對象(一般是一個空行,只有架子沒有數據的) Row insertRow = docx.Tables[0].Rows[26]; //將獲取到的這一個模板行,添加到當前行的下一行(下一個節點) //我這裡要插入到第27行及以後,我的模板行是第27行,i的作用是控制被操作的行 docx.Tables[0].Rows[26+i].Xml.AddAfterSelf(insertRow.Xml); //控制要插入那些列 for (int j = 2; j < 9; j++) { //設置要插入的值 string value = (i + j).ToString(); //將值添加到該單元格 docx.Tables[0].Rows[26 + i + 1].Cells[j].Paragraphs[0].Append(value); } //Paragraph.Xml.ElementsBeforeSelf(); } //刪除模板行,要不然會有一個空行 docx.Tables[0].RemoveRow(26);