2

i have a problam with adding rows to my existing table, in my application im manipulating word file. in my template (word file) there is allready a table with 8 rows not including the header(you can see in the picture), when building a new word file in my app,sometimes i want to add more rows to the table because maybe i have more data to insert in(data from dataGridView). like in the code below, im adding rows according to how much rows i have from my datagridview,asking this:

using (DocX document = DocX.Load(filename))
{
    int k = 0;

    Table t = document.Tables[0];

    // Specify some properties for this Table.
    t.Alignment = Alignment.right;

    if (howManyRows > t.RowCount)
    {
        int x = howManyRows - t.RowCount;
        for (int i = 0; i < x; i++)
        {
            Row row = t.InsertRow();             
        }
    }      

and i tried also just: t.InsertRow();

and then im populating my table in the word file from my dataGridView and then i get an unhandled exception-index was out of range, which makes no sense,because if im not adding rows, just populating the table with the same rows number with the same code, i get no exception and the table is working fine, this is the code that i did to populate from list of string from dataGridView:

for (int i = 1; i <=howManyRows; i++)
{
    for (int j = 4; j >= 0; j--)
    {
        t.Rows[i].Cells[j].Paragraphs.First().Append(dataFromDataGrid[k]).FontSize(11).Font(new FontFamily("Arial"));
        k++;
    }
}
document.Save();

i think im not adding rows as needs to be done because if im running in my loop until :

 for (int i = 1; i <howManyRows; i++)

not like :

for (int i = 1; i <=howManyRows; i++)

as i did below, im getting this table : as the picture shows,there are no cells and borders in the rows maybe this is the problam i dont know.

My Word Table

1 Answer 1

0

i found this link

and specifically the part about

this.Tables[1].set_Style("Table Grid 8");

try the style part.

also, this link, which shows a full example, which uses

table.Borders

which looks like what you're looking for:)

cheers

eiran

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.