Как создать таблицы в Word на языке C#
Таблицы представляют собой простой и визуально привлекательный способ расположения содержимого, например, чисел, текста или их комбинации. Если вы создаете график, отчет или любой другой документ, требующий упорядоченных данных, знание того, как создать таблицу в Word, может значительно повысить четкость и читабельность вашего документа. В этой статье показано, как создать таблицу в документе Word с помощью Free Spire.Doc for .NET на языке C#.
Установка Free Spire.Doc for .NET с помощью NuGet
Вы можете установить пакет FreeSpire.Doc for .NET, выполнив поиск и установку через «Tool» -> «NuGet Package Manager» -> «Manage NuGet Packages for Solution», или установить его с помощью следующей команды NuGet:
PM> Install-Package FreeSpire.Doc
Создание таблицы в документе Word на языке C#
Ниже приведены некоторые основные классы и методы, предоставляемые Spire.Doc для .NET для создания и форматирования таблиц в Word.
| Название | Описание | Table Класс | Представляет таблицу в документе Word. | TableRow Класс | Представляет строку в таблице. | TableCell Класс | Представляет определенную ячейку в таблице. | Section.AddTbale() Метод | Добавляет новую таблицу в указанный раздел. | Table.ResetCells() Метод | Сбрасывает номер строки и номер столбца. | Table.Rows Свойство | Получает строки таблицы. | TableRow.Height Свойство | Устанавливает высоту указанной строки. | TableRow.Cells Свойство | Возвращает коллекцию ячеек. | TableRow.RowFormat Свойство | Получает формат указанной строки. |
Ниже приведены подробные шаги.
1. Создайте объект Document и добавьте в него раздел.
2. Подготовьте данные для строки заголовка и других строк, сохранив их в одномерном строковом массиве и двумерном строковом массиве соответственно.
3. Добавьте в раздел таблицу с помощью метода Section.AddTable().
4. Вставьте данные в строку заголовка и установите форматирование строки, включая высоту строки, цвет фона и выравнивание текста.
5. Вставьте данные в остальные строки и примените к ним форматирование.
6. Сохраните документ в другой файл с помощью метода Document.SaveToFile().
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);
}
}
}
См. Также
Free Spire.Doc — это всеобъемлющая библиотека, поддерживающая различные действия с документами Word. Вы можете использовать его:
Конвертировать Word в XPS # на языке C