IronXL kullanarak C#'da HTML Tablosunu Excel'e Nasıl Aktaracağınızı Öğrenin
HTML tablo verilerini çıkarma ve bunu bir Excel sayfasına dönüştürme, iş uygulamalarında yaygın bir gerekliliktir -- ister veri taşınması için, ister rapor oluşturma için, isterse de daha fazla analize ihtiyaç duyan web sayfaları için. Bu kılavuz, IronXL ve HTML Agility Pack kullanarak HTML tablolarından Excel formatına veri aktarmak için net adımlar sunar.
HTML tabloyu Excel'e aktarmanız gerektiğinde, Excel çalışma sayfası yapıları ile HTML tabloları arasındaki ilişkiyi anlamak önemlidir. Bu kılavuz, HTML tablolarından Excel formatına verilerin nasıl verimli bir şekilde aktarılacağını gösterir, veri bütünlüğünü koruyan profesyonel Excel çalışma sayfası çıktıları oluşturur.
IronXL, HTML tablo içeriğini Excel çalışma sayfasına dönüştürmek için esnek bir yol sunar ve güçlü Excel manipülasyon yeteneklerini HTML parçalama ile birleştirerek HTML tablosunu C# içinde Excel'e aktarmayı sağlar. İster bir URL'den veri indirmeye ister bir veritabanından içerik işlemeye ihtiyacınız olsun, bu çözüm, makinenizde Microsoft Office yüklü olmasına gerek kalmadan çeşitli giriş senaryolarını yönetir.
HTML Tablo Verilerini Dışa Aktarmak için Neden IronXL Kullanmalısınız?
IronXL, Microsoft Office kurulumu gerektirmeyen Excel dosyaları oluşturma ve düzenleme konusunda mükemmeldir, bu da onu sunucu ortamları ve platformlar arası uygulamalar için ideal kılar. HTML Agility Pack ile birlikte kullanıldığında, yetenekli bir HTML dosya ve içerik ayrıştırıcı olarak, IronXL herhangi bir HTML tablo yapısını Excel sayfası verilerine dönüştürmek için çok yönlü bir çözüm haline gelir. Bu yaklaşım, .NET 10 uygulamaları ile iyi çalışır ve büyük veri setlerini verimli bir şekilde işleyebilir.
Syncfusion Excel kütüphanesinin XlsIO gibi belirli HTML formatları ve tablo yapılarıyla sınırlı bir ImportHtmlTable işlevi sunan kütüphanelerin aksine, IronXL yaklaşımı geliştiricilere ayrıştırma ve dönüştürme süreci üzerinde tam kontrol sağlar. Bu esneklik, geliştiricilerin yerleşik yöntemlerin uyum sağlayamayacağı iç içe geçmiş tablolar, özel veri biçimlendirme ve seçmeli sütun çıkarmak gibi karmaşık senaryoları ele alabilecekleri anlamına gelir.
IronXL ayrıca formül desteği, hücre stilini, birden çok çalışma sayfası yönetimini ve çeşitli dışa aktarma formatlarını (XLSX, XLS, JSON ve CSV) içeren tam bir Excel özellikleri paketi sağlar. Çizelgeler oluşturabilir, PDF'ye aktarabilir ve gizli alan verilerini yönetebilirsiniz, bu da basit HTML tablo dönüştürmenin ötesinde Excel otomasyonu için kapsamlı bir çözüm sunar.
Gerekli Kütüphaneler Nasıl Kurulur?
IronXL ve HTML Agility Pack'i NuGet Paket Yöneticisi aracılığıyla yükleyin. IronXL, lisansa karar vermeden önce tüm özellikleri test etmek için ücretsiz deneme sunar.
Paket Yöneticisi Konsolu
:ProductInstall
Install-Package HtmlAgilityPack
:ProductInstall
Install-Package HtmlAgilityPack
.NET CLI
dotnet add package IronXL.Excel dotnet add package HtmlAgilityPack
Bu NuGet paketleri, Excel belgelerini programlı olarak oluşturmanıza, yüklemenize ve kaydetmenize olanak tanır. Her iki paketi de yükledikten sonra, gerekli using ifadelerini C# dosyanızın en üstüne ekleyin:
using IronXL;
using HtmlAgilityPack;
using System;
using System.Linq;
using IronXL;
using HtmlAgilityPack;
using System;
using System.Linq;
Imports IronXL
Imports HtmlAgilityPack
Imports System
Imports System.Linq
Bu kütüphaneler, HTML Agility Pack'in HTML ayrıştırmasını ve IronXL'in Excel dosya oluşturma ve işleme yönetimini yapmasıyla birlikte iyi çalışır. Bu örnek, HTML tablolarını XLSX formatına dönüştürmek için net bir yaklaşımı göstermektedir.
HTML Agility Pack ile HTML Tablo Verilerini Nasıl Ayrıştırırsınız?
HTML Agility Pack, XPath ifadeleri kullanarak HTML belgelerini gezinmenin basit bir yolunu sunar. Aşağıdaki kod, bir HTML tablosundan veri çıkarmayı ve dışa aktarım için hazırlamayı gösteriyor:
// Sample HTML table with product data
string htmlContent = @"
<table>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>Stock</th>
</tr>
</thead>
<tbody>
<tr>
<td>Laptop</td>
<td>$999</td>
<td>15</td>
</tr>
<tr>
<td>Mouse</td>
<td>$25</td>
<td>50</td>
</tr>
<tr>
<td>Keyboard</td>
<td>$75</td>
<td>30</td>
</tr>
</tbody>
</table>";
// Load HTML document for parsing
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
// Select the HTML table element using XPath
var table = doc.DocumentNode.SelectSingleNode("//table");
// Sample HTML table with product data
string htmlContent = @"
<table>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>Stock</th>
</tr>
</thead>
<tbody>
<tr>
<td>Laptop</td>
<td>$999</td>
<td>15</td>
</tr>
<tr>
<td>Mouse</td>
<td>$25</td>
<td>50</td>
</tr>
<tr>
<td>Keyboard</td>
<td>$75</td>
<td>30</td>
</tr>
</tbody>
</table>";
// Load HTML document for parsing
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
// Select the HTML table element using XPath
var table = doc.DocumentNode.SelectSingleNode("//table");
' Sample HTML table with product data
Dim htmlContent As String = "
<table>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>Stock</th>
</tr>
</thead>
<tbody>
<tr>
<td>Laptop</td>
<td>$999</td>
<td>15</td>
</tr>
<tr>
<td>Mouse</td>
<td>$25</td>
<td>50</td>
</tr>
<tr>
<td>Keyboard</td>
<td>$75</td>
<td>30</td>
</tr>
</tbody>
</table>"
' Load HTML document for parsing
Dim doc As New HtmlDocument()
doc.LoadHtml(htmlContent)
' Select the HTML table element using XPath
Dim table = doc.DocumentNode.SelectSingleNode("//table")
Bu kod, HTML içeriğini bir HtmlDocument nesnesine yükler ve Xpath kullanarak tablo öğesini sorgular ve seçer. SelectSingleNode yöntemi, HTML'de bulunan ilk tabloyu döndürür ve birden fazla tablo varsa belirli tabloları hedeflemeyi kolay hale getirir. Her tablo satırı daha sonra dönüştürme için hücre değeri çıkarmak üzere işlenir.
Tablo Ayrıştırma İçin Hangi XPath İfadeleri En İyi Çalışır?
Standart HTML tabloları için, //table XPath ifadesi, dokümandaki ilk tabloyu seçer. Birden çok tablo içeren daha karmaşık sayfalarla çalışırken, belirli bir tabloyu indeksine göre hedeflemek için (//table)[2] gibi konumsal seçiciler kullanabilirsiniz. //table[@id='data-table'] veya //table[@class='products'] gibi özelliğe dayalı seçiciler, tablolar anlamlı tanımlayıcılar taşıdığında da yararlıdır.
HTML canlı bir URL'den geldiğinde, dokümanı doğrudan HtmlWeb sınıfı kullanarak yükleyebilirsiniz:
var web = new HtmlWeb();
var remoteDoc = web.Load("https://example.com/data-page");
var remoteTable = remoteDoc.DocumentNode.SelectSingleNode("//table[@class='data-table']");
var web = new HtmlWeb();
var remoteDoc = web.Load("https://example.com/data-page");
var remoteTable = remoteDoc.DocumentNode.SelectSingleNode("//table[@class='data-table']");
Dim web As New HtmlWeb()
Dim remoteDoc = web.Load("https://example.com/data-page")
Dim remoteTable = remoteDoc.DocumentNode.SelectSingleNode("//table[@class='data-table']")
Bu, HTML'i önce manuel olarak kaydetmeden, tabloları doğrudan genel web sayfalarından çekmenizi sağlar.
IronXL Kullanarak Ayrıştırılmış Verileri Excel'e Nasıl Aktarırsınız?
IronXL ile, işlenen HTML tablo verilerini düzgün biçimlendirilmiş profesyonel bir Excel elektronik tablosuna dönüştürebilirsiniz. Aşağıdaki kod, verilerin özel stil ile nasıl dışa aktarılacağını gösterir:
// Create a new Excel workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("Exported Data");
// Extract and write headers
var headers = table.SelectNodes(".//thead/tr/th");
if (headers != null)
{
for (int col = 0; col < headers.Count; col++)
{
workSheet.SetCellValue(0, col, headers[col].InnerText.Trim());
// Apply header formatting
var headerCell = workSheet.GetCellAt(0, col);
headerCell.Style.Font.Bold = true;
headerCell.Style.BackgroundColor = "#4CAF50";
}
}
// Extract and write data rows
var rows = table.SelectNodes(".//tbody/tr");
if (rows != null)
{
for (int row = 0; row < rows.Count; row++)
{
var cells = rows[row].SelectNodes("td");
if (cells != null)
{
for (int col = 0; col < cells.Count; col++)
{
string cellValue = cells[col].InnerText.Trim();
workSheet.SetCellValue(row + 1, col, cellValue);
}
}
}
}
// Auto-fit columns for better readability
for (int col = 0; col < headers?.Count; col++)
{
workSheet.AutoSizeColumn(col);
}
// Save the Excel file
workBook.SaveAs("ExportedTable.xlsx");
// Create a new Excel workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("Exported Data");
// Extract and write headers
var headers = table.SelectNodes(".//thead/tr/th");
if (headers != null)
{
for (int col = 0; col < headers.Count; col++)
{
workSheet.SetCellValue(0, col, headers[col].InnerText.Trim());
// Apply header formatting
var headerCell = workSheet.GetCellAt(0, col);
headerCell.Style.Font.Bold = true;
headerCell.Style.BackgroundColor = "#4CAF50";
}
}
// Extract and write data rows
var rows = table.SelectNodes(".//tbody/tr");
if (rows != null)
{
for (int row = 0; row < rows.Count; row++)
{
var cells = rows[row].SelectNodes("td");
if (cells != null)
{
for (int col = 0; col < cells.Count; col++)
{
string cellValue = cells[col].InnerText.Trim();
workSheet.SetCellValue(row + 1, col, cellValue);
}
}
}
}
// Auto-fit columns for better readability
for (int col = 0; col < headers?.Count; col++)
{
workSheet.AutoSizeColumn(col);
}
// Save the Excel file
workBook.SaveAs("ExportedTable.xlsx");
Imports System
Imports System.Xml
' Create a new Excel workbook
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Exported Data")
' Extract and write headers
Dim headers As XmlNodeList = table.SelectNodes(".//thead/tr/th")
If headers IsNot Nothing Then
For col As Integer = 0 To headers.Count - 1
workSheet.SetCellValue(0, col, headers(col).InnerText.Trim())
' Apply header formatting
Dim headerCell = workSheet.GetCellAt(0, col)
headerCell.Style.Font.Bold = True
headerCell.Style.BackgroundColor = "#4CAF50"
Next
End If
' Extract and write data rows
Dim rows As XmlNodeList = table.SelectNodes(".//tbody/tr")
If rows IsNot Nothing Then
For row As Integer = 0 To rows.Count - 1
Dim cells As XmlNodeList = rows(row).SelectNodes("td")
If cells IsNot Nothing Then
For col As Integer = 0 To cells.Count - 1
Dim cellValue As String = cells(col).InnerText.Trim()
workSheet.SetCellValue(row + 1, col, cellValue)
Next
End If
Next
End If
' Auto-fit columns for better readability
For col As Integer = 0 To If(headers?.Count, 0) - 1
workSheet.AutoSizeColumn(col)
Next
' Save the Excel file
workBook.SaveAs("ExportedTable.xlsx")
Bu kod, C# Excel manipülasyonu için IronXL'nin sezgisel API'sini gösterir. Yeni bir WorkBook ve WorkSheet oluşturur, ardından ayrıştırılan HTML tablo başlıkları arasında dolaşarak onları ilk satıra yerleştirir ve kalın biçimlendirme ile yeşil arka plan rengi uygular. Veri satırları, HTML tablosundan satır satır işlenir ve her hücrenin metin içeriği çıkarılıp karşılık gelen Excel hücresine yerleştirilir. AutoSizeColumn işlevi tüm içeriğin görünür olmasını sağlar ve çalışma kitabı bir XLSX dosyası olarak kaydedilir.

Burada, yukarıdaki koddan alınan çıktıyla karşılaştırılan orijinal HTML tablosunu görebilirsiniz:

Çıkarılan Verilere Hücre Biçimlendirmesi Nasıl Uygulanır?
IronXL, yukarıda gösterilen temel kalın yazı ve arka plan renginin ötesinde, hücre stilini ince detaylarla kontrol edebilmenizi sağlar. Herhangi bir hücre veya aralık için yazı tipi boyutunu, yazı tipi ailesini, metin hizalamasını, kenarlıkları ve sayı formatlarını ayarlayabilirsiniz:
// Apply number formatting to a price column (column index 1)
var priceRange = workSheet[$"B2:B{rows.Count + 1}"];
priceRange.FormatString = "$#,##0.00";
// Set font size on all header cells
var headerRange = workSheet[$"A1:{(char)('A' + headers.Count - 1)}1"];
headerRange.Style.Font.Height = 13; // in half-points, so 13 = 6.5pt
// Apply number formatting to a price column (column index 1)
var priceRange = workSheet[$"B2:B{rows.Count + 1}"];
priceRange.FormatString = "$#,##0.00";
// Set font size on all header cells
var headerRange = workSheet[$"A1:{(char)('A' + headers.Count - 1)}1"];
headerRange.Style.Font.Height = 13; // in half-points, so 13 = 6.5pt
' Apply number formatting to a price column (column index 1)
Dim priceRange = workSheet($"B2:B{rows.Count + 1}")
priceRange.FormatString = "$#,##0.00"
' Set font size on all header cells
Dim headerRange = workSheet($"A1:{Chr(Asc("A"c) + headers.Count - 1)}1")
headerRange.Style.Font.Height = 13 ' in half-points, so 13 = 6.5pt
Sütun genişlikleri için, AutoSizeColumn çoğu vakayı idare eder, ancak belirli bir yerleşim gerektiğinde SetColumnWidth yöntemi kullanarak açık genişlikler de ayarlayabilirsiniz. Bu stil kontrolleri, çalışma kitabınızın geri kalanında hücre yazı tipi stillerini yöneten aynı IronXL API'sinin bir parçasıdır.
Birden Fazla Tablo ve Hata Senaryolarını Nasıl Yönetiyorsunuz?
Tek sayfada birden fazla tablo ile çalışırken, tüm tabloları almak ve her biri için ayrı bir çalışma sayfası oluşturmak için SelectNodes("//table") kullanın:
var tables = doc.DocumentNode.SelectNodes("//table");
if (tables != null)
{
for (int t = 0; t < tables.Count; t++)
{
WorkSheet ws = workBook.CreateWorkSheet($"Table_{t + 1}");
var tblHeaders = tables[t].SelectNodes(".//thead/tr/th");
var tblRows = tables[t].SelectNodes(".//tbody/tr");
if (tblHeaders != null)
{
for (int col = 0; col < tblHeaders.Count; col++)
{
ws.SetCellValue(0, col, tblHeaders[col].InnerText.Trim());
ws.GetCellAt(0, col).Style.Font.Bold = true;
}
}
if (tblRows != null)
{
for (int row = 0; row < tblRows.Count; row++)
{
var cells = tblRows[row].SelectNodes("td");
if (cells != null)
{
for (int col = 0; col < cells.Count; col++)
{
ws.SetCellValue(row + 1, col, cells[col].InnerText.Trim());
}
}
}
}
}
}
workBook.SaveAs("MultiTableExport.xlsx");
var tables = doc.DocumentNode.SelectNodes("//table");
if (tables != null)
{
for (int t = 0; t < tables.Count; t++)
{
WorkSheet ws = workBook.CreateWorkSheet($"Table_{t + 1}");
var tblHeaders = tables[t].SelectNodes(".//thead/tr/th");
var tblRows = tables[t].SelectNodes(".//tbody/tr");
if (tblHeaders != null)
{
for (int col = 0; col < tblHeaders.Count; col++)
{
ws.SetCellValue(0, col, tblHeaders[col].InnerText.Trim());
ws.GetCellAt(0, col).Style.Font.Bold = true;
}
}
if (tblRows != null)
{
for (int row = 0; row < tblRows.Count; row++)
{
var cells = tblRows[row].SelectNodes("td");
if (cells != null)
{
for (int col = 0; col < cells.Count; col++)
{
ws.SetCellValue(row + 1, col, cells[col].InnerText.Trim());
}
}
}
}
}
}
workBook.SaveAs("MultiTableExport.xlsx");
Imports System
Dim tables = doc.DocumentNode.SelectNodes("//table")
If tables IsNot Nothing Then
For t As Integer = 0 To tables.Count - 1
Dim ws As WorkSheet = workBook.CreateWorkSheet($"Table_{t + 1}")
Dim tblHeaders = tables(t).SelectNodes(".//thead/tr/th")
Dim tblRows = tables(t).SelectNodes(".//tbody/tr")
If tblHeaders IsNot Nothing Then
For col As Integer = 0 To tblHeaders.Count - 1
ws.SetCellValue(0, col, tblHeaders(col).InnerText.Trim())
ws.GetCellAt(0, col).Style.Font.Bold = True
Next
End If
If tblRows IsNot Nothing Then
For row As Integer = 0 To tblRows.Count - 1
Dim cells = tblRows(row).SelectNodes("td")
If cells IsNot Nothing Then
For col As Integer = 0 To cells.Count - 1
ws.SetCellValue(row + 1, col, cells(col).InnerText.Trim())
Next
End If
Next
End If
Next
End If
workBook.SaveAs("MultiTableExport.xlsx")
HTML Bozuk Olduğunda Ne Yapmalısınız?
Gerçek dünyadaki HTML her zaman geçerli değildir. Dış kaynaklardan kazınmış sayfalar, eksik kapanış etiketlerine, tutarsız tbody yapılarına veya başlık satırında karışık th ve td öğelerine sahip olabilir. HTML Agility Pack tasarım gereği hoşgörülüdür ve çoğu hatalı biçimlendirilmiş HTML'yi istisna fırlatmadan işler, ancak XPath seçicileriniz beklediğinizle eşleşmeyebilir.
Güvenli bir desen, ayrıştırma mantığını bir try-catch bloğuna sarmak ve thead bulunmadığında doğrudan tablo altında tr öğelerini arayan bir geri dönüş eklemektir:
try
{
var headerNodes = table.SelectNodes(".//thead/tr/th")
?? table.SelectNodes(".//tr[1]/th")
?? table.SelectNodes(".//tr[1]/td");
var dataRows = table.SelectNodes(".//tbody/tr")
?? table.SelectNodes(".//tr[position()>1]");
// ... process as normal
}
catch (Exception ex)
{
Console.WriteLine($"Table parsing failed: {ex.Message}");
}
try
{
var headerNodes = table.SelectNodes(".//thead/tr/th")
?? table.SelectNodes(".//tr[1]/th")
?? table.SelectNodes(".//tr[1]/td");
var dataRows = table.SelectNodes(".//tbody/tr")
?? table.SelectNodes(".//tr[position()>1]");
// ... process as normal
}
catch (Exception ex)
{
Console.WriteLine($"Table parsing failed: {ex.Message}");
}
Imports System
Try
Dim headerNodes = table.SelectNodes(".//thead/tr/th") _
OrElse table.SelectNodes(".//tr[1]/th") _
OrElse table.SelectNodes(".//tr[1]/td")
Dim dataRows = table.SelectNodes(".//tbody/tr") _
OrElse table.SelectNodes(".//tr[position()>1]")
' ... process as normal
Catch ex As Exception
Console.WriteLine($"Table parsing failed: {ex.Message}")
End Try
IronXL, uygun olduğunda sayısal dizgileri sayılara dönüştürerek veri tipi algılamayı otomatik olarak gerçekleştirir. JavaScript tarafından oluşturulan daha karmaşık senaryolar için, bu yaklaşımı önce sayfayı render edip ardından ortaya çıkan HTML'i analiz için HTML Agility Pack'e iletmek üzere Selenium WebDriver veya Playwright gibi araçlarla birleştirebilirsiniz.
Excel Dosyasını Nasıl Kaydedip Dışa Aktarırsınız?
IronXL, XLSX'in ötesinde birden fazla çıktı formatını destekler. Bağlı gereksinimlere bağlı olarak XLS, CSV, TSV veya JSON olarak kaydedebilirsiniz. Ayrıca çıktıyı ASP.NET Core içinde bir HTTP yanıtına doğrudan ileterek diske dosya yazmayı önleyebilirsiniz:
// Save to disk as XLSX
workBook.SaveAs("ExportedTable.xlsx");
// Save as CSV
workBook.SaveAsCsv("ExportedTable.csv");
// Stream to HTTP response (ASP.NET Core)
// Response.Headers["Content-Disposition"] = "attachment; filename=ExportedTable.xlsx";
// workBook.SaveAs(Response.BodyWriter.AsStream());
// Save to disk as XLSX
workBook.SaveAs("ExportedTable.xlsx");
// Save as CSV
workBook.SaveAsCsv("ExportedTable.csv");
// Stream to HTTP response (ASP.NET Core)
// Response.Headers["Content-Disposition"] = "attachment; filename=ExportedTable.xlsx";
// workBook.SaveAs(Response.BodyWriter.AsStream());
' Save to disk as XLSX
workBook.SaveAs("ExportedTable.xlsx")
' Save as CSV
workBook.SaveAsCsv("ExportedTable.csv")
' Stream to HTTP response (ASP.NET Core)
' Response.Headers("Content-Disposition") = "attachment; filename=ExportedTable.xlsx"
' workBook.SaveAs(Response.BodyWriter.AsStream())
Bir HTTP yanıtına akış sağlarken, tarayıcının yanıtı bir dosya indirme olarak değerlendirmesi için Content-Disposition başlığının attachment olarak ayarlandığından emin olun. Bu desen, hem MVC denetleyicilerinde hem de Razor Pages'de iyi çalışır.
Var olan bir Excel şablonuna veri dışa aktarmanız gerektiğinde, IronXL var olan bir çalışma kitabını yükleyebilir ve şablondaki tüm biçimlendirmeyi koruyarak adlandırılmış aralıklar veya belirli hücre adresleriyle ayrıştırılmış HTML verileri doldurabilir.
Üretim Kullanımı İçin En İyi Uygulamalar Nelerdir?
| Endişe | Öneri | Açıklamalar |
|---|---|---|
| Büyük veri setleri | Satırları gruplar halinde işleyin | Elektron, binlerce satırı işler, ancak çıktı akışı bellek basıncını önler |
| Bozuk HTML | Yedek XPath seçicilerini kullanın | HTML Agility Pack hoşgörülüdür; tüm SelectNodes çağrılarında açıkça null kontrolleri ekleyin |
| Dinamik içerik | Selenium veya Playwright ile önceden işleme yapın | JavaScript ağırlıklı sayfalar, HTML ayrıştırmadan önce başsız bir tarayıcı gerektirir |
| Dosya formatı | XLS yerine XLSX'i tercih edin | XLSX, daha fazla satır, daha büyük hücre değerleri ve modern stil özelliklerini destekler |
| Sütun genişlikleri | Tüm verileri yazdıktan sonra AutoSizeColumn'u çağırın | Veri yazılmadan önce çağırmak sütun boyutlarını küçültür |
| Lisanslama | Başlangıçta lisans anahtarını ayarlayın | Herhangi bir IronXL çağrısından önce IronXL.License.LicenseKey = "..."; çağrısını yapın |
Bir URL'den veya veritabanı sorgusundan gelen içeriği daha fazla analiz için işlerken gizli alan değerleri veya özel formatlama gereksinimleri gibi ek ayrıntıları ele alın. Varsayılan davranış standart tablolar için iyi çalışır, ancak her sütun veya belirli bir tablo satırı için yazı boyutunu, yazı tipini ve diğer stil özelliklerini özelleştirebilirsiniz.
İhracattan sonra Excel dosyalarından veri okumak için, IronXL aynı WorkBook.Load API'sini kullanır, bu da gidiş-dönüş iş akışlarını basit hale getirir. Sonucu daha fazla işleme tabi tutmak için Excel dosyasını JSON veya XML gibi diğer formatlara dönüştürebilirsiniz.
Lisanslama ve Dağıtım Nasıl Yönetilir?
IronXL, üretim kullanımı için bir lisans anahtarı gerektirir. Ücretsiz deneme sürümü, tüm özellikleri içerir ve kütüphaneyi satın almadan önce değerlendirmek için idealdir. Ekibiniz için doğru kademeyi bulmak için fiyatlandırma ve lisanslama seçeneklerini keşfedin.
Docker, Azure Functions veya Linux ortamlarında dağıtım için IronXL, Microsoft Office veya COM Interop'a bağlı değildir, bu da yönetilmesi kolay bir bağımlılık yapar. .NET 10, .NET 9, .NET 8, .NET Framework 4.6.2+ ve mevcut ASP.NET Core dışa aktarma desenleri ile tam uyumludur.
IronXL ve HTML Agility Pack kombinasyonu, C#'da HTML tablolarını Excel'e dışa aktarmak için esnek bir çözüm sunar. Burada gösterilen yaklaşım, katı yerleşik yöntemlere göre daha fazla kontrol sunar, karmaşık HTML yapılarıyla başa çıkarken IronXL'in tam Excel özellik setinden yararlanmanıza olanak tanır.
Web kazıyıcıları oluşturuyor, veritabanındaki eski verileri taşıyor, rapor oluşturmayı otomatikleştiriyor veya büyük veri setleri üzerinde veri analizi yapıyor olun, bu çözüm kurumsal ihtiyaçları karşılayacak şekilde ölçeklenir. Kod örnekleri, statik HTML dizgilerinden URL üzerinden alınan dinamik içeriklere kadar çeşitli giriş kaynaklarını nasıl ele alacağınızı gösterir. Sonuçlar indirme için dışa aktarılabilir veya .NET uygulamanızda daha fazla işleme tabi tutulabilir.
HTML verilerinizi profesyonel Excel dosyalarına dönüştürmeye hazır mısınız? Bugün IronXL'in ücretsiz deneme sürümünü başlatın ve Office bağımlılıkları olmadan programatik Excel manipülasyonunun esnekliğini deneyimleyin.
Sıkça Sorulan Sorular
İş uygulamalarında HTML tablolarını Excel'e dönüştürmenin ana amacı nedir?
Ana amaç, HTML tablo verilerini Excel'de kolayca yönetilebilir ve analiz edilebilir bir formata dönüştürerek veri taşımayı, rapor hazırlamayı veya web sayfası verilerini daha fazla analiz etmeyi sağlamaktır.
Rehber, C#'da HTML tablolarını Excel'e dönüştürmek için hangi kütüphaneyi öneriyor?
Rehber, HTML tablolarını Excel'e dönüştürmek için IronXL'i kullanmayı önerir, çünkü Microsoft Office ihtiyacı olmadan esnek bir yaklaşım sunar.
Bazı kütüphaneler neden HTML tablolarını Excel'e dönüştürmek için uygun olmayabilir?
Bazı kütüphaneler, dosya formatlarında sınırlamalar içerdiği veya destekleyici özelliklerin eksik olduğu için çeşitli veri dönüştürme ihtiyaçlarını karşılama etkinliğini kısıtlayabilir.
HTML tablolarını Excel'e ihraç etmek için IronXL kullanıldığında Microsoft Office gerekli mi?
Hayır, IronXL kullanmak için Microsoft Office gerekli değil. Farklı platformlarda çalışarak HTML tablolarını Excel'e ihraç etmek için esnek bir çözüm sunar.
IronXL, HTML tablolarını Excel'e platformlar arası dönüştürme işlemini yapabilir mi?
Evet, IronXL, HTML tablolarını Excel'e platformlar arası dönüştürme işlemi yapabilir, bu da farklı ortamda çalışan geliştiriciler için çok yönlü bir araç yapar.
HTML tablolarını Excel'e dönüştürmenin bazı yaygın kullanım durumları nelerdir?
Yaygın kullanım durumları arasında veri taşınması, rapor oluşturulması ve web sayfası verilerinin daha yapılandırılmış ve erişilebilir bir formatta analiz edilmesi yer alır.




