DOCX C#'a Tablo Ekleme | IronWord

IronWord ile C# Kullanarak DOCX'e Bir Tablo Nasıl Eklenir

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord, geliştiricilerin C#'da WORD belgelerine programlı olarak tablo eklemelerine olanak tanır. Bunun için, belirli satır ve sütunlara sahip Table nesneleri oluşturur, bunları kenarlıklar ve renklerle biçimlendirir ve hücreleri içerikle doldurur, ardından DOCX dosyaları olarak kaydeder.

Hızlı Başlangıç: Tek Çağrıyla Tablo Oluşturma ve Kaydetme

Bu örnek, IronWord'de bir tablo oluşturmayı gösterir. Boyutlarla tablo oluşturun, stiller uygulayın, içerik ekleyin, belgeye ekleyin ve kaydedin. Dakikalar içinde stil verilmiş bir tabloyla bir DOCX dosyası üretebilirsiniz.

  1. IronWord aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronWord
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    var table = new IronWord.Models.Table(3,4);
    var doc = new IronWord.WordDocument();
    doc.AddTable(table);
    doc.SaveAs("QuickTable.docx");
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronWord kullanmaya başlayın

    arrow pointer

Word Belgeme Tabloyu Nasıl Eklerim?

Bir tablo, Word belgelerinin temel bir bileşenidir. İlk olarak, satır ve sütun sayısını belirterek Table sınıfını örneklendirin. Tablonun stilini, arka plan rengini, gölgelemeyi, sınır, zebra çizgileri ve genişliği yapılandırın. İkinci olarak, sezgisel [row, column] indekslemeyi kullanarak her bir hücreye erişin. Her hücreye metin, resim, şekil, paragraf veya hatta tablolar ekleyin. Son olarak, tabloyu Word belgesine ekleyin.

IronWord'daki tablolar, Word belgelerinde yapılandırılmış verileri düzenlemek için esnek bir temel sağlar. Fatura, rapor veya veri özetleri oluştururken, Table sınıfı içerik ve sunum üzerinde kapsamlı kontrol sağlar. Sıfır tabanlı indeksleme sistemi, hücrelerin programlı olarak yinelemesini basitleştirirken, zengin stillendirme seçenekleri profesyonel bir görünüm sağlar.

İpuçlarıTüm satır ve sütun indeks pozisyonları sıfır tabanlı dizinlemedir.

:path=/static-assets/word/content-code-examples/how-to/add-table-add-table.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

WordDocument doc = new WordDocument();

// Create table
Table table = new Table(5, 3);

// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = Color.Black;
borderStyle.BorderValue = BorderValues.Thick;
borderStyle.BorderSize = 5;

// Configure table border
TableBorders tableBorders = new TableBorders()
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};

// Apply styling
table.Zebra = new ZebraColor("FFFFFF", "dddddd");
table.Borders = tableBorders;

// Populate table
table[0, 0] = new TableCell(new TextContent("Number"));
table[0, 1] = new TableCell(new TextContent("First Name"));
table[0, 2] = new TableCell(new TextContent("Last Name"));
for (int i = 1; i < table.Rows.Count; i++)
{
    table[i, 0].AddChild(new TextContent($"{i}"));
    table[i, 1].AddChild(new TextContent($"---"));
    table[i, 2].AddChild(new TextContent($"---"));
}

// Add table
doc.AddTable(table);

doc.Save("document.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

Private doc As New WordDocument()

' Create table
Private table As New Table(5, 3)

' Configure border style
Private borderStyle As New BorderStyle()
borderStyle.BorderColor = Color.Black
borderStyle.BorderValue = BorderValues.Thick
borderStyle.BorderSize = 5

' Configure table border
Dim tableBorders As New TableBorders() With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}

' Apply styling
table.Zebra = New ZebraColor("FFFFFF", "dddddd")
table.Borders = tableBorders

' Populate table
table(0, 0) = New TableCell(New TextContent("Number"))
table(0, 1) = New TableCell(New TextContent("First Name"))
table(0, 2) = New TableCell(New TextContent("Last Name"))
For i As Integer = 1 To table.Rows.Count - 1
	table(i, 0).AddChild(New TextContent($"{i}"))
	table(i, 1).AddChild(New TextContent($"---"))
	table(i, 2).AddChild(New TextContent($"---"))
Next i

' Add table
doc.AddTable(table)

doc.Save("document.docx")
$vbLabelText   $csharpLabel
Numara, İlk Ad, Soyad sütunları ve satırlar arasında zebra çizgi gölgelemesi olan boş 4x3 tabloyu gösteren Word belgesi

AddChild sınıfının TableCell yöntemi, paragraflar, resimler, şekiller ve tablolar içeren bir ContentElement nesnesini kabul eder. Bu, karmaşık kullanım senaryoları için iç içe geçmiş tablolar oluşturma sağlar.

Tablo hücreleri ile çalışırken, IronWord, içerik yönetimi için birden fazla yaklaşım sağlar. Yapıcıyı kullanarak TableCell nesnesini başlangıç içeriğiyle oluşturun veya AddChild yöntemini kullanarak içeriği aşamalı olarak ekleyin. Bu esneklik, farklı içerik türlerini birleştiren karmaşık hücre yapıları oluşturmayı mümkün kılar. Mesela, tek bir hücre bir başlık paragrafını, ardından bir resim ve ayrıntılı spesifikasyonlar için iç içe bir tablo içerebilir.

İleri düzey hücre nüfus tekniklerini gösteren bir örnek:

// Example: Creating cells with mixed content
TableCell complexCell = new TableCell();

// Add a styled paragraph
Paragraph header = new Paragraph();
header.Add(new TextContent("Product Details").Bold().FontSize = 14);
complexCell.AddChild(header);

// Add multiple text elements
complexCell.AddChild(new TextContent("SKU: "));
complexCell.AddChild(new TextContent("PROD-001").Bold());
complexCell.AddChild(new TextContent("\nPrice: $49.99"));

// Cells can also contain lists, images, and more
// This demonstrates the versatility of table cells in IronWord
// Example: Creating cells with mixed content
TableCell complexCell = new TableCell();

// Add a styled paragraph
Paragraph header = new Paragraph();
header.Add(new TextContent("Product Details").Bold().FontSize = 14);
complexCell.AddChild(header);

// Add multiple text elements
complexCell.AddChild(new TextContent("SKU: "));
complexCell.AddChild(new TextContent("PROD-001").Bold());
complexCell.AddChild(new TextContent("\nPrice: $49.99"));

// Cells can also contain lists, images, and more
// This demonstrates the versatility of table cells in IronWord
' Example: Creating cells with mixed content
Dim complexCell As New TableCell()

' Add a styled paragraph
Dim header As New Paragraph()
header.Add(New TextContent("Product Details").Bold().FontSize = 14)
complexCell.AddChild(header)

' Add multiple text elements
complexCell.AddChild(New TextContent("SKU: "))
complexCell.AddChild(New TextContent("PROD-001").Bold())
complexCell.AddChild(New TextContent(vbCrLf & "Price: $49.99"))

' Cells can also contain lists, images, and more
' This demonstrates the versatility of table cells in IronWord
$vbLabelText   $csharpLabel

Tablolara Hangi Stil İmkanlarını Uygulayabilirim?

IronWord, görsel olarak çekici ve profesyonel belgeler oluşturmak için tablolar için geniş stil olasılıkları sunar. Temel sınır ve renklerin ötesinde, hücre dolgu boşluklarını kontrol edebilir, hizalamayı ayarlayabilir ve zebra çizgileri yoluyla koşullu biçimlendirmeleri uygulayabilirsiniz. Stil sistemi güç ile sezgisel bir tasarımı birleştirerek tanıdık özellik adları ve net değer sıralamaları kullanır.

Hangi Sınır Stilleri Mevcuttur?

BorderValues enumunu kullanarak sınır değerleri için mevcut tüm seçenekleri keşfedin:

Word sınır stilleri menüsü, Tek, Çift, Üçlü, Noktalı, Kesikli, Dalga ve çeşitli kalınlık kombinasyonları gibi seçenekleri gösteriyor

BorderValues numaralandırması, tablo estetiği için kapsamlı seçenekler sunar. Basit tek çizgilerden dalga ve nokta gibi karmaşık desenlere kadar her stil, belirli tasarım amaçlarına hizmet eder. İş belgeleri için Profesyonel Çift veya Üçlü sınırlar tercih edilirken, yaratıcı belgelerde Dalga veya DashDot desenleri kullanılabilir. BorderSize özelliği, BorderValue ile birlikte çalışarak, nokta sekizinde ölçülen çizgi kalınlığı üzerinde hassas kontrol sağlar.

İşte farklı kenarlık yapılandırmalarını gösteren pratik bir örnek:

// Example: Applying different borders to table sections
Table styledTable = new Table(4, 4);

// Create distinct border styles for header and body
BorderStyle headerBorder = new BorderStyle
{
    BorderColor = Color.Navy,
    BorderValue = BorderValues.Double,
    BorderSize = 8
};

BorderStyle bodyBorder = new BorderStyle
{
    BorderColor = Color.Gray,
    BorderValue = BorderValues.Dotted,
    BorderSize = 3
};

// Apply different borders to different parts of the table
// This creates visual hierarchy and improves readability
styledTable.Borders = new TableBorders
{
    TopBorder = headerBorder,
    BottomBorder = headerBorder,
    LeftBorder = bodyBorder,
    RightBorder = bodyBorder,
    InsideHorizontalBorder = bodyBorder,
    InsideVerticalBorder = bodyBorder
};

// Zebra striping for better row distinction
styledTable.Zebra = new ZebraColor("F5F5F5", "FFFFFF");
// Example: Applying different borders to table sections
Table styledTable = new Table(4, 4);

// Create distinct border styles for header and body
BorderStyle headerBorder = new BorderStyle
{
    BorderColor = Color.Navy,
    BorderValue = BorderValues.Double,
    BorderSize = 8
};

BorderStyle bodyBorder = new BorderStyle
{
    BorderColor = Color.Gray,
    BorderValue = BorderValues.Dotted,
    BorderSize = 3
};

// Apply different borders to different parts of the table
// This creates visual hierarchy and improves readability
styledTable.Borders = new TableBorders
{
    TopBorder = headerBorder,
    BottomBorder = headerBorder,
    LeftBorder = bodyBorder,
    RightBorder = bodyBorder,
    InsideHorizontalBorder = bodyBorder,
    InsideVerticalBorder = bodyBorder
};

// Zebra striping for better row distinction
styledTable.Zebra = new ZebraColor("F5F5F5", "FFFFFF");
Imports System.Drawing

' Example: Applying different borders to table sections
Dim styledTable As New Table(4, 4)

' Create distinct border styles for header and body
Dim headerBorder As New BorderStyle With {
    .BorderColor = Color.Navy,
    .BorderValue = BorderValues.Double,
    .BorderSize = 8
}

Dim bodyBorder As New BorderStyle With {
    .BorderColor = Color.Gray,
    .BorderValue = BorderValues.Dotted,
    .BorderSize = 3
}

' Apply different borders to different parts of the table
' This creates visual hierarchy and improves readability
styledTable.Borders = New TableBorders With {
    .TopBorder = headerBorder,
    .BottomBorder = headerBorder,
    .LeftBorder = bodyBorder,
    .RightBorder = bodyBorder,
    .InsideHorizontalBorder = bodyBorder,
    .InsideVerticalBorder = bodyBorder
}

' Zebra striping for better row distinction
styledTable.Zebra = New ZebraColor("F5F5F5", "FFFFFF")
$vbLabelText   $csharpLabel

Tablo genişliği ve hizalama özellikleri, ek düzen kontrolü sağlar. Tabloları belirli genişliklere veya yüzdelere ayarlayın, belge içinde hizalayın ve çevresindeki içerikle etkileşimi kontrol edin. Hücre düzeyindeki stil seçenekleri, tablo görünümünün her yönü üzerinde ayrıntılı kontrol sağlayarak, bireysel arka plan renkleri, metin hizalaması ve dolgu ayarlamalarını içerir.

Bu stil seçenekleri, basit veri tablolarından birden fazla görsel hiyerarşi içeren karmaşık finansal tablolara kadar herhangi bir belgenin tasarım gerekliliklerine uygun tabloların oluşturulmasını sağlar.

Sıkça Sorulan Sorular

Bir Word belgesinde belirli boyutlarla nasıl bir tablo oluştururum?

IronWord ile, istenen satır ve sütun sayısını belirterek Table sınıfını örnekleyerek bir tablo oluşturabilirsiniz. Örneğin, 3 satırlık ve 4 sütunluk bir tablo oluşturmak için 'var table = new IronWord.Models.Table(3,4);' ifadesini kullanabilirsiniz. Daha sonra bunu bir WordDocument nesnesine ekleyip DOCX dosyası olarak kaydedin.

Tabloları kenarlık ve renklerle programatik olarak stilize edebilir miyim?

Evet, IronWord size arka plan renkleri, gölgelendirme, kenarlık, zebra şeritleme ve genişlik dahil olmak üzere kapsamlı tablo stil seçeneklerini yapılandırma olanağı tanır. Bu stilleri, Word belgesine eklemeden önce Tablo nesnenize uygulayabilirsiniz.

Bir tablodaki belirli hücrelere nasıl erişir ve içerik eklerim?

IronWord, tablo hücrelerine sıfır tabanlı dizinleme kullanarak erişir. Hücrelere, [satır, sütun] notasyonu kullanarak sezgisel olarak ulaşabilir, ardından metin, resimler, şekiller, paragraflar veya yuvalanmış tablolar dahil olmak üzere çeşitli içerik türleri ile doldurabilirsiniz.

Tablo hücrelerine hangi tür içerikler ekleyebilirim?

IronWord'un TableCell sınıfını kullanarak, ContentElement nesnelerini kabul eden AddChild yöntemiyle birçok içerik türü ekleyebilirsiniz. Bu, yuvalanmış tablo yapıları oluşturmak için paragraflar, resimler, şekiller ve hatta tabloları içerir.

Tablo hücreleri içinde yuvalanmış tablolar oluşturmak mümkün mü?

Evet, IronWord yuvalanmış tabloları destekler. AddChild yöntemi, tablolar dahil ContentElement nesnelerini kabul ettiğinden, karmaşık veri organizasyonu gereksinimlerini karşılamak için bir tablo hücresine bir tablo ekleyebilirsiniz.

Bir tablo ile bir DOCX dosyası oluşturmanın en hızlı yolu nedir?

IronWord ile en hızlı yaklaşım, ölçülerle bir Tablo nesnesi oluşturmak, bir WordDocument örneği oluşturarak tabloyu AddTable yardımı ile eklemek ve ardından SaveAs() ile kaydetmektir. Bu süreç, sadece 4 satır kod ile tamamlanabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 44,829 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronWord
bir örnek çalıştırın verilerinizi bir Word belgesine dönüştürün.