How to convert DateGrid to Word document?
We don't have a direct API to convert a DataGrid to a Word export. However, through a workaround, we can achieve this by enumerating all the records in the DataGrid and inserting them into the Word table using DocIO. Please refer to the below code snippet to do so.
C#
// Create a table
WTable doctable = new WTable(doc);
doc.LastSection.Tables.Add( doctable);
DataTable table = (DataTable)this.dataGridView1.DataSource;
// Enumerate each record in the Grid
for(int i=0;i
{
doctable.AddRow(true, false);
// Enumerate each cell in the record
for (int j = 0 ; j < table.Rows[1].ItemArray.Length ; j++)
{
WTableCell cell = new WTableCell(doc);
cell.AddParagraph().AppendText(table.Rows[i].ItemArray.GetValue(j).ToString());
cell.Width = 50;
doctable.Rows[i+1].Cells.Add(cell);
}
}
VB
'Create a table
Dim doctable As WTable = New WTable(doc)
doc.LastSection.Tables.Add(doctable)
Dim table As DataTable = CType(Me.dataGridView1.DataSource, DataTable)
'Enumerate each record in the Grid
Do
doctable.AddRow(True, False)
'Enumerate each cell in the record
For j As Integer = 0 To table.Rows(1).ItemArray.Length - 1
Dim cell As WTableCell = New WTableCell(doc)
cell.AddParagraph().AppendText(table.Rows(i).ItemArray.GetValue(j).ToString())
cell.Width = 50
doctable.Rows(i+1).Cells.Add(cell)
Next j
Loop