Добавление строк в существующую таблицу в файле word (doc file) с помощью библиотеки dll DocX



У меня есть проблема с добавлением строк в существующую таблицу,
в моем приложении я управляю файлом word.
в моем шаблоне (файл word) уже есть таблица с 8 строками, не включая заголовок(вы можете видеть на картинке), при создании нового файла word в моем приложении, иногда я хочу добавить больше строк в таблицу, потому что, возможно, у меня есть больше данных для вставки(данные из dataGridView). как и в приведенном ниже коде, я добавляю строки в соответствии с тем, сколько строк у меня есть из моего datagridview, спрашивая это:



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();
}
}


И я попробовал также просто: t.InsertRow();



И затем я заполняю свою таблицу в файле word из моего dataGridView, а затем я получаю необработанное исключение-индекс был вне диапазона, что не имеет смысла, потому что если я не добавляю строки, просто заполняя таблицу с тем же номером строк с тем же кодом, я не получаю исключения, и таблица работает нормально, это код, который я сделал, чтобы заполнить из списка строк из 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();


Я думаю, что я не добавляю строки как должно быть сделано, потому что если я бегу в моем цикле, пока:



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


Не нравится:



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


Как я сделал ниже, я получаю эту таблицу : как показано на рисунке, в строках нет ячеек и границ, возможно, это проблема, которую я не знаю.



Моя Таблица Слов

570   1  

1 ответ:

Я нашел эту ссылку

И, в частности, часть о

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

Попробуйте часть стиля.

Также эта Ссылка, которая показывает полный пример, в котором используется

table.Borders

Который выглядит как то, что вы ищете:)

Ура

Эйран

Comments

    Ничего не найдено.