Document .Net - Tables

Tables

Tables are used to organize the contents of a document and to present information in rows and columns.


In this code example, we create a document with a table of 5 rows and 5 columns.

Complete code

using SautinSoft.Document;
using SautinSoft.Document.Tables;

namespace Example
{
    class Program
    {
        private static DocumentCore dc;

        static void Main(string[] args)
        {
            CreateTable();
        }

        /// <summary>
        /// Creates a new cell within a table and fills the it in staggered order.
        /// </summary>
        /// Row index.
        /// Column index.
        /// New table cell.
        static TableCell NewCell(int rowIndex, int colIndex)
        {
            TableCell cell = new TableCell(dc);

            cell.CellFormat.Borders.SetBorders(MultipleBorderTypes.Outside, BorderStyle.Single, Color.Black, 1);

            if (colIndex % 2 == 1 && rowIndex % 2 == 0 || colIndex % 2 == 0 && rowIndex % 2 == 1)
            {
                cell.CellFormat.BackgroundColor = Color.Black;
            }

            Run run = new Run(dc, string.Format("Row - {0}; Col - {1}", rowIndex, colIndex));
            run.CharacterFormat.FontColor = Color.Auto;

            cell.Blocks.Content.Replace(run.Content);

            return cell;
        }             

        /// <summary>
        /// Creates a new document with a table.
        /// </summary>
        /// </remarks>
        /// Details: https://sautinsoft.com/products/document/examples/tables.php
        /// </remarks>
        static void CreateTable()
        {
            dc = new DocumentCore();           

            string filePath = @"Result-file.docx";

            Table table = new Table(dc, 5, 5, NewCell);

            // Place the 'Table' at the start of the 'Document'.
            // By the way, we didn't create a 'Section' in our document.
            // As we're using 'Content' property, a 'Section' will be created automatically if necessary.
            dc.Content.Start.Insert(table.Content);
            dc.Save(filePath);

            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePath) { UseShellExecute = true });
        }
    }
}

Download.

        
            Imports SautinSoft.Document
Imports SautinSoft.Document.Tables

Namespace Example
    Friend Class Program
        Private Shared dc As DocumentCore

        Shared Sub Main(ByVal args() As String)
            CreateTable()
        End Sub

        ''' <summary>
        ''' Creates a new cell within a table and fills the it in staggered order.
        ''' </summary>
        ''' Row index.
        ''' Column index.
        ''' New table cell.
        Public Shared Function NewCell(ByVal rowIndex As Integer, ByVal colIndex As Integer) As TableCell
            Dim cell As New TableCell(dc)

            cell.CellFormat.Borders.SetBorders(MultipleBorderTypes.Outside, BorderStyle.Single, Color.Black, 1)

            If colIndex Mod 2 = 1 AndAlso rowIndex Mod 2 = 0 OrElse colIndex Mod 2 = 0 AndAlso rowIndex Mod 2 = 1 Then
                cell.CellFormat.BackgroundColor = Color.Black
            End If

            Dim run As New Run(dc, String.Format("Row - {0}; Col - {1}", rowIndex, colIndex))
            run.CharacterFormat.FontColor = Color.Auto

            cell.Blocks.Content.Replace(run.Content)

            Return cell
        End Function

        ''' <summary>
        ''' Creates a new document with a table.
        ''' </summary>
        ''' </remarks>
        ''' Details: https://sautinsoft.com/products/document/examples/tables.php
        ''' </remarks>
        Public Shared Sub CreateTable()
            dc = New DocumentCore()

            Dim filePath As String = "Result-file.docx"

            Dim table As New Table(dc, 5, 5, AddressOf NewCell)

            ' Place the 'Table' at the start of the 'Document'.
            ' By the way, we didn't create a 'Section' in our document.
            ' As we're using 'Content' property, a 'Section' will be created automatically if necessary.
            dc.Content.Start.Insert(table.Content)
            dc.Save(filePath)

            System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(filePath) With {.UseShellExecute = True})
        End Sub
    End Class
End Namespace

Download.

© SautinSoft 2002 - 2018