Cześć, piszę program, który zbiera dane zleceń w postaci tabelaryczne i chcę żeby zapisywały mi się one w w dokumencie Word. Przygotowałem formatkę i napisałem funkcję zapisującą, która prezentuje się następująco:
private void SaveButton_Click(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
foreach (Control control in this.BookmarksFlowLayoutPanel.Controls)
{
try
{
if (((BookmarkFill)control).GetBookMark != null)
{
word.ActiveDocument.Bookmarks[((BookmarkFill)control).GetBookMark].Range.Text = ((BookmarkFill)control).Content;
}
}
catch (Exception)
{
if (((BookmarkTableFill)control).GetBookmark != null)
{
var range = word.ActiveDocument.Bookmarks[((BookmarkTableFill)control).GetBookmark].Range;
var dataTabel = ((BookmarkTableFill)control).Content;
Microsoft.Office.Interop.Word.Table table;
table = document.Tables.Add(range, dataTabel.Rows.Count, dataTabel.Columns.Count);
for (int i = -1; i < dataTabel.Rows.Count; i++)
{
for (int j = 0; j < dataTabel.Columns.Count; j++)
{
if (i == -1)
table.Cell(i, j).Range.Text = dataTabel.Columns[j].ColumnName;
else
table.Cell(i, j).Range.Text = dataTabel.Rows[i][j].ToString();
}
}
}
}
}
Moim problemem jest to, że kiedy próbuję wygenerować i wstawić tabelę do dokumentu Word to otrzymuję następujące exception:
Natomiast w programie Word zaczęła tworzyć się tabela i wygląda w następujący sposób:
Formatowanie jest tragiczne i na dodatek nie po kolei tzn. najpierw dane, a na końcu są nazwy kolumn.
Jest to moja pierwsza styczność z zapisywaniem danych do dokumentu Word, a sprawa jest dla mnie bardzo pilna, dlatego bardzo proszę Was o pomoc we wskazaniu błędu lub wytłumaczeniu jak można tworzyć tabele i zapisywać je do dokumentu Word