none
How to set a Font for the created merge Table data RRS feed

  • Question

  • I am using OpenXml office SDK for processing the Mailmerge records.

    I had used LINQ to find the Mailmerege XElement from the document.

    In a situation i need to create a table dynamically from the dataview and should mail merge a particular tag. Until this its works perfect.

    Please find the below code

    DocumentFormat.OpenXml.Wordprocessing.Table table =
                                                    new DocumentFormat.OpenXml.Wordprocessing.Table(
                                                        new TableProperties(
                                                            new DocumentFormat.OpenXml.Wordprocessing.TableStyle() { Val = "TableGrid" },
                                                            new TableWidth() { Width = "0", Type = TableWidthUnitValues.Auto },
                                                            new TableLook()
                                                            {
                                                                Val = "04A0",
                                                                FirstRow = true,
                                                                LastRow = false,
                                                                FirstColumn = true,
                                                                LastColumn = false,
                                                                NoHorizontalBand = false,
                                                                NoVerticalBand = true,
                                                            },
                                                            new TableBorders()
                                                        ),
                                                        new TableLayout() { Type = TableLayoutValues.Fixed },
                                                        new TableGrid(
                                                            new GridColumn() { Width = "1400" },
                                                            new GridColumn() { Width = "1400" },
                                                            new GridColumn() { Width = "5000" },
                                                                                new GridColumn() { Width = "1400" }
                                                        )
                                                    );

                                                for (int iDataLoop = 0; iDataLoop < dvData.Table.Rows.Count; iDataLoop++)
                                                {
                                                     DocumentFormat.OpenXml.Wordprocessing.TableRow tr = new DocumentFormat.OpenXml.Wordprocessing.TableRow();
                                                     for (int iCodeColumnLoop = 0; iCodeColumnLoop < dvData.Table.Columns.Count; iCodeColumnLoop++)
                                                     {
                                                        DocumentFormat.OpenXml.Wordprocessing.TableCell tc = new DocumentFormat.OpenXml.Wordprocessing.TableCell();
                                                        tc.Append(new DocumentFormat.OpenXml.Wordprocessing.Paragraph(new Run(new Text(dvData.Table.Rows[iDataLoop][iCodeColumnLoop].ToString()))));
                                                        tr.Append(tc);
                                                     }
        }

    table.Append(tr);

    I have an issue in this table creation, the table data is created by default font "Calibri (Body)" with size 11.

    I want the table data to be in the "Arial" font with size 10.

    Can any one help me on this.

    Thanks upfront for the efforts.

    Tuesday, October 16, 2012 6:19 AM

Answers

  • Found the Solutions !!!!!

    Changed the source

      tc.Append(new DocumentFormat.OpenXml.Wordprocessing.Paragraph(new Run(new Text(dvData.Table.Rows[iDataLoop][iCodeColumnLoop].ToString()))));

    to

    tc.Append(

    new DocumentFormat.OpenXml.Wordprocessing.Paragraph(new Run(new RunProperties( new RunFonts() { Ascii = "Arial", HighAnsi = "Arial", ComplexScript = "Arial"}),

    new Text(dvData.Table.Rows[iDataLoop][iCodeColumnLoop].ToString()), new ParagraphPropertiesDefault())));

    • Marked as answer by Rams333 Tuesday, October 16, 2012 1:38 PM
    Tuesday, October 16, 2012 1:37 PM