C# ile IronWord Kullanarak DOCX'e Nasıl Tablo Eklerim
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.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronWord yükleyin
PM > Install-Package IronWord -
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"); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronWord kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
- DOCX dosyalarına tablo eklemek için bir C# kütüphanesi indirin
- Hücreleri içerikle doldurun ve hücreleri satırlara monte edin
- Bir tablo oluşturmak için ona satır ekleyin
- Tabloyla yeni bir Word belgesi başlatın ve tabloyu ekleyin
- Son Word belgesini dışa aktarın
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.
: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")
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
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:
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")
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.

