Установлено через NuGet
PM> Install-Package Spire.Doc
Ссылки по теме
В MS Word таблицы могут организовывать и представлять данные в строках и столбцах, что облегчает понимание и анализ информации. В этой статье вы узнаете, как программно создать таблицу с данными в документе Word использование Spire.Doc for .NET.
Установите Spire.Doc for .NET
Для начала вам необходимо добавить файлы DLL, включенные в пакет Spire.Doc for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.
PM> Install-Package Spire.Doc
Создать простую таблицу в Word
Ниже приведены некоторые основные классы и методы, предоставляемые Spire.Doc for .NET для создания и форматирования таблиц в Word.
| Имя | Описание |
| Класс таблицы | Представляет таблицу в документе Word. |
| Класс ТаблеРоу | Представляет строку в таблице. |
| Класс Таблеселл | Представляет определенную ячейку в таблице. |
| Метод Раздел.AddTbale() | Добавляет новую таблицу в указанный раздел. |
| Метод Table.ResetCells() | Сбрасывает номер строки и номер столбца. |
| Свойство Table.Rows | Получает строки таблицы. |
| Свойство TableRow.Height | Устанавливает высоту указанной строки. |
| Свойство TableRow.Cells | Возвращает коллекцию ячеек. |
| Свойство TableRow.RowFormat | Получает формат указанной строки. |
Подробные шаги следующие:
- Создайте объект Document и добавьте к нему раздел.
- Подготовьте данные для строки заголовка и других строк, сохранив их в одномерном массиве строк и двумерном массиве строк соответственно.
- Добавьте таблицу в раздел с помощью метода Раздел.AddTable().
- Вставьте данные в строку заголовка и задайте форматирование строки, включая высоту строки, цвет фона и выравнивание текста.
- Вставьте данные в остальные строки и примените к этим строкам форматирование.
- Сохраните документ в другой файл, используя метод Document.SaveToFile().
- C#
- VB.NET
using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace WordTable
{
class Program
{
static void Main(string[] args)
{
//Create a Document object
Document doc = new Document();
//Add a section
Section s = doc.AddSection();
//Define the data for the table
String[] Header = { "Date", "Description", "Country", "On Hands", "On Order" };
String[][] data = {
new String[]{ "08/07/2021","Dive kayak","United States","24","16"},
new String[]{ "08/07/2021","Underwater Diver Vehicle","United States","5","3"},
new String[]{ "08/07/2021","Regulator System","Czech Republic","165","216"},
new String[]{ "08/08/2021","Second Stage Regulator","United States","98","88"},
new String[]{ "08/08/2021","Personal Dive Sonar","United States","46","45"},
new String[]{ "08/09/2021","Compass Console Mount","United States","211","300"},
new String[]{ "08/09/2021","Regulator System","United Kingdom","166","100"},
new String[]{ "08/10/2021","Alternate Inflation Regulator","United Kingdom","47","43"},
};
//Add a table
Table table = s.AddTable(true);
table.ResetCells(data.Length + 1, Header.Length);
//Set the first row as table header
TableRow FRow = table.Rows[0];
FRow.IsHeader = true;
//Set the height and color of the first row
FRow.Height = 23;
FRow.RowFormat.BackColor = Color.LightSeaGreen;
for (int i = 0; i < Header.Length; i++)
{
//Set alignment for cells
Paragraph p = FRow.Cells[i].AddParagraph();
FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
p.Format.HorizontalAlignment = HorizontalAlignment.Center;
//Set data format
TextRange TR = p.AppendText(Header[i]);
TR.CharacterFormat.FontName = "Calibri";
TR.CharacterFormat.FontSize = 12;
TR.CharacterFormat.Bold = true;
}
//Add data to the rest of rows and set cell format
for (int r = 0; r < data.Length; r++)
{
TableRow DataRow = table.Rows[r + 1];
DataRow.Height = 20;
for (int c = 0; c < data[r].Length; c++)
{
DataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
Paragraph p2 = DataRow.Cells[c].AddParagraph();
TextRange TR2 = p2.AppendText(data[r][c]);
p2.Format.HorizontalAlignment = HorizontalAlignment.Center;
//Set data format
TR2.CharacterFormat.FontName = "Calibri";
TR2.CharacterFormat.FontSize = 11;
}
}
//Save the document
doc.SaveToFile("WordTable.docx", FileFormat.Docx2013);
}
}
}

Подать заявку на временную лицензию
Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.