...
Exception |
---|
|
SetRepeatBlock will throw this exception if the bookmark has been set to be removed.
|
Limitations
Not all Word features can be included in a repeat block:
Supported in Repeat Blocks | Not Supported in Repeat Blocks |
---|
- Character Formatting (everywhere)
- Paragraph Formatting (Alignment, Outlines, Indent, Spacing, Page Break before, Keep Together)
- Multiple Columns (2, 3, Column Breaks)
- Borders and Shading
- Tabs
- Bullets
- Numbering (numbering not reset, it is continued from one repeat block to another)
- Page Breaks
- Section Breaks
- Auto Text Field
- Hyperlink
- Pictures
- Table Row Repeat (entire row only)
- Fields (with some restrictions)
| - Nested repeat blocks (Only one data source may be assigned to a single repeat block.)
- Overlapping bookmarks
- Comments
- Drawing Objects
- Text Boxes
- Footnote and endnote references
- Table and picture indexes
- Single cell in a table
- Smart tags (smart tags will be removed from the document)
- Repeat blocks in headers, footers, footnotes, comments, text boxes, etc.
|
Remarks |
---|
A repeat block is a fragment in the template document that will be repeated for each row in a data source. In the template document, repeat blocks are defined by Word bookmarks that contain merge fields. You can call SetRepeatBlock several times for a single instance of WordTemplate. The repeat block specified by the parameter bookmark must exist in the template. If you pass an empty data source to SetRepeatBlock WordWriter will not include the specified repeat block in the generated Word file. |
Example |
---|
Code Block |
---|
|
//--- A 2-D rectangular array of values
//--- This is a "transposed" array with columns in the first
//--- dimension and rows in the second
string[,] ValuesArr = {{"Boston", "Miami", "Merchantville"},
{"MA", "FL", "NJ"}};
//--- Names array, elements correspond to merge field names
string[] NamesArr = {"City", "State"};
WordTemplate wt = new WordTemplate();
wt.Open("template.doc");
//--- Set the repeat block defined by the bookmark "Block"
//--- The data source is the 2-D rectangular ValuesArr array
//--- MaxRows is set to ALL_ROWS, which allows all rows to be imported
//--- Transpose is true to handle the transposed array
wt.SetRepeatBlock(ValuesArr, NamesArr, "Block",
WordTemplate.ALL_ROWS, true);
wt.Process();
wt.Save("out.doc");
|
Code Block |
---|
|
'--- A 2-D rectangular array of values
'--- This is a "transposed" array with columns in the first
'--- dimension and rows in the second
Dim ValuesArr As String(,) = {{"Boston", "Miami", "Merchantville"}, _
{"MA", "FL", "NJ"}}
'--- Names array, elements correspond to merge field names
Dim NamesArr As String() = {"City", "State"}
Dim wt As New WordTemplate()
wt.Open("template.doc")
'--- Set the repeat block defined by the bookmark "Block"
'--- The data source is the 2-D rectangular ValuesArr array
'--- MaxRows is set to ALL_ROWS, which allows all rows to be imported
'--- Transpose is true to handle the transposed array
wt.SetRepeatBlock(ValuesArr, NamesArr, "Block", _
WordTemplate.ALL_ROWS, True)
wt.Process()
wt.Save("out.doc")
|
|