Add table to word document

  • VSTO
  • Spire.Doc
  • Download Sample Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Word = Microsoft.Office.Interop.Word;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Word;

namespace VSTO
{
    public partial class ThisAddIn
    {       
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Open document
            Word.Application wordApp = Application;
            wordApp.Documents.Open("../../Blank.docx");

            object start = 0, end = 0;
            Word.Range rng = this.Application.ActiveDocument.Range(ref start, ref end);
            rng.InsertParagraphAfter();
            rng.InsertParagraphAfter();
            rng.SetRange(rng.End, rng.End);

            // Add table
            rng.Tables.Add(this.Application.ActiveDocument.Paragraphs[2].Range, 2, 2, ref missing, ref missing);

            //Set table style
            Word.Table tbl = this.Application.ActiveDocument.Tables[1];
            tbl.Range.Font.Size = 14;
            object styleName = "Table Professional";
            tbl.set_Style(ref styleName);

            //Fill data in row
            tbl.Cell(1, 1).Range.Text = "Spire.Doc";  
     
            //Save the file
            this.Application.ActiveDocument.Save();
        }
        

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace Spire.Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create table
            Document doc = new Document();
            Section s = doc.AddSection();
            Table table = s.AddTable(true);

            //Add cells
            table.ResetCells(2, 2);

            //Fill data in row
            table.Rows[0].Cells[0].AddParagraph().AppendText("Spire.Doc");

            //Set table style
            table.Rows[0].Cells[0].CellFormat.BackColor = Color.Black;
            ParagraphStyle style = new ParagraphStyle(doc);
            style.Name = "TableStyle";
            style.CharacterFormat.FontSize = 14;
            style.CharacterFormat.TextColor = Color.White;
            doc.Styles.Add(style);
            table.Rows[0].Cells[0].Paragraphs[0].ApplyStyle(style.Name);

            //Save and Launch
            doc.SaveToFile("Table.docx");
            System.Diagnostics.Process.Start("Table.docx");
            
        }
    }
}