DOCX C#'a Tablo Ekleme | IronWord

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

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

IronWord ile geliştiriciler C#'da belirli satırlar ve sütunlar içeren Table nesneleri oluşturarak, onları kenarlıklar ve renklerle stilleyerek ve kaydetmeden önce içerikle hücreleri doldurarak programatik olarak Word belgelerine tablolar ekleyebilir.

Hızlı Başlangıç: Tek bir Çağrıyla Tablo Oluştur ve Kaydet

Bu örnek, IronWord'de bir tablo nasıl oluşturulacağını gösterir. Tabloyu boyutlarıyla inşa edin, stilleri uygulayın, içerik ekleyin, bir belgeye ekleyin ve kaydedin. Birkaç dakika içinde stillendirilmiş bir tablo içeren bir DOCX dosyası oluşturabilirsiniz.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronWord yükleyin

    PM > Install-Package IronWord
  2. Bu kod parçasını kopyalayıp ç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 etmek için dağıtın

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

    arrow pointer

Word Belgeme Nasıl Tablo 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 arka plan rengi, gölgeleme, kenarlık, zebra çizgili desen ve genişlik dahil stilini yapılandırın. İkinci olarak, çevrimci [row, column] indeksleme kullanarak her bir hücreye erişin. Her hücreye metin, resim, şekil, paragraf veya hatta tablo ekleyin. Son olarak, tabloyu Word belgesine ekleyin.

IronWord'deki tablolar, Word belgelerinde yapılandırılmış verileri düzenlemek için esnek bir temel sağlar. Faturalar, raporlar veya veri özetleri oluştururken, Table sınıfı içerik ve sunum üzerinde kapsamlı kontrol sunar. Sıfır tabanlı dizinleme sistemi, programatik hücre yinelemesi düzeneğini basitleştirirken, zengin stil seçenekleri profesyonel görünüm sağlar.

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

: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 İsim, Soyad sütunları ve sıra sıra sıralanan satır gölgelemesi ile boş bir 4x3 tablo gösteren Word belgesi

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

Tablo hücreleriyle çalışırken, IronWord içerik yönetimi için çeşitli yaklaşımlar sunar. TableCell'i ilk içerik ile tanımlı olarak oluşturucu kullanarak veya AddChild yöntemini kullanarak kademeli olarak içerik ekleyerek örnekleyin. Bu esneklik, farklı içerik türlerini birleştiren karmaşık hücre yapıları oluşturmanıza olanak tanır. Örneğin, tek bir hücre bir başlık paragrafı, ardından bir resim ve detaylı özellikler için iç içe bir tablo içerebilir.

İleri düzey hücre doldurma 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

Tablolar İçin Hangi Stil Seçeneklerini Uygulayabilirim?

IronWord, görsel olarak çekici ve profesyonel belgeler oluşturmayı sağlayan kapsamlı stil yetenekleri sunar. Temel kenarlıklar ve renklerin ötesinde, hücre dolgu, hizalama kontrolü yapın ve zebra çizgili desenler üzerinden koşullu formatlama uygulayın. Stil sistemi, tanıdık özellik isimleri ve net değer tanımlamaları kullanarak gücü sezgisel tasarımla birleştirir.

Hangi Kenarlık Tarzları Mevcuttur?

BorderValues enum'u kullanarak kenarlık değerleri için mevcut tüm seçenekleri keşfedin:

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

BorderValues enumerasyonu, tablo estetikleri için kapsamlı seçenekler sunar. Basit tek çizgilerden dalgalar ve noktalar gibi karmaşık desenlere kadar, her stil belirli tasarım amaçlarına hizmet eder. İş belgeleri profesyonel Çift veya Üçlü kenarlıklardan yararlanırken, yaratıcı belgeler Dalga veya Kesik Nokta desenlerini kullanır. BorderSize özelliği, noktanın sekizde biri ile ölçülen çizgi kalınlığı üzerinde kesin kontrol sağlamak için BorderValue ile çalışır.

Çeşitli kenarlık yapılandırmalarını gösteren pratik bir örnek işte burada:

// 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şlik ve hizalama özellikleri ek düzen kontrolü sağlar. Tabloları belirli genişliklere veya yüzde oranlarına ayarlayın, belgede hizalayın ve çevredeki içerikle etkileşimi kontrol edin. Hücre düzeyindeki stil seçenekleri, her yönüyle tablo görünümünü kontrol ederek bireysel arka plan renkleri, metin hizalaması ve dolgu ayarları içerir.

Bu stil seçenekleri, basit veri tablolarından çeşitli görsel hiyerarşilerle karmaşık finansal tablolara kadar her belgenin tasarım gereksinimlerine uygun tablolar oluşturmayı sağlar.

Sıkça Sorulan Sorular

Belirli boyutlara sahip bir tabloyu Word belgesinde nasıl oluşturabilirim?

IronWord ile, Table sınıfını örnekleyerek ve satır ve sütun sayısını belirterek bir tablo oluşturabilirsiniz. Örneğin, 'var table = new IronWord.Models.Table(3,4);' kullanarak 3 satır ve 4 sütunluk bir tablo oluşturun. Ardından bir WordDocument nesnesine ekleyin ve DOCX dosyası olarak kaydedin.

Tabloları programlı olarak kenarlıklar ve renklerle stilize edebilir miyim?

Evet, IronWord arka plan renkleri, gölgeleme, kenarlıklar, zebra şeritleri ve genişliği kapsayan kapsamlı tablo stilizasyonu yapılandırmanıza olanak tanır. Bu stilleri, tabloyu Word belgesine eklemeden önce Table nesnenize uygulayabilirsiniz.

Tablodaki belirli hücrelere nasıl erişir ve onları nasıl doldururum?

IronWord, tablo hücrelerine sıfır tabanlı indeksleme ile erişir. Hücrelere, [satır, sütun] notasyonu kullanarak erişebilir ve çeşitli içerik türleriyle (metin, resim, şekiller, paragraflar hatta iç içe tablolar) doldurabilirsiniz.

Tablo hücrelerine hangi içerik türlerini ekleyebilirim?

IronWord'un TableCell sınıfını kullanarak, içerik türlerini kabul eden AddChild yöntemiyle çeşitli içerik türleri ekleyebilirsiniz. Bu, iç içe tablo yapıları oluşturmak için paragraflar, resimler, şekiller ve hatta tablolar içerir.

Tablo hücrelerinde iç içe tablolar oluşturmak mümkün mü?

Evet, IronWord iç içe tabloları destekler. AddChild yöntemi tablolar da dahil olmak üzere ContentElement nesneleri kabul ettiğinden, karmaşık veri organizasyonu gereksinimlerini ele almak için bir tablo hücresine tablo ekleyebilirsiniz.

Tablolu bir DOCX belgesi oluşturmanın en hızlı yolu nedir?

IronWord ile en hızlı yaklaşım, bir tablo nesnesi oluşturarak, bir WordDocument örneği başlatarak, tabloyu AddTable() kullanarak ekleyerek ve SaveAs() ile kaydederek tamamlanır. Bu tüm süreç sadece 4 satır kodla tamamlanabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 39,467 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronWord
bir örnek çalıştır verilerinizin bir Word belgesine dönüştüğünü izleyin.